Changeset 354


Ignore:
Timestamp:
07/09/09 15:13:27 (5 years ago)
Author:
david
Message:

splitting corner cases into their own functions; added base_url back in, as JS is dependent on it for exiting presentation view properly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • enpraxis.staticsite/trunk/enpraxis/staticsite/utilities/staticsiteutility.py

    r353 r354  
    262262        self.filterDocActionImages(soup, portal.portal_url(), current) 
    263263        self.filterCSSLinks(soup, current) 
     264        self.filterIEFixesCSS(soup, current) 
    264265        self.filterJSLinks(soup, current) 
     266        self.filterS5BaseUrl(soup, current)         
    265267        self.filterImageFullscreenBackLink(soup, current) 
    266268        links = self.getDocumentLinks(soup) 
     
    330332                url = self._convertLinkToRelative(url, current) 
    331333                x['href'] = url 
    332         #Filter IEFixes.css link 
     334 
     335 
     336    def filterIEFixesCSS(self, soup, current): 
    333337        ie_css = soup.find(text=re.compile("IEFixes.css")) 
    334338        if ie_css: 
     
    338342            ie_css.replaceWith('''<!--[if IE]> 
    339343                                  <style type="text/css" media="all">@import url(%s);</style> 
    340                                   <![endif]-->''' %nurl) 
     344                                  <![endif]-->''' %nurl)         
    341345 
    342346    def filterJSLinks(self, soup, current): 
     
    347351                url = url.split(');')[0] 
    348352                url = self._convertLinkToRelative(url, current) 
    349                 x['src'] = url 
     353                x['src'] = url                 
     354 
     355    def filterS5BaseUrl(self, soup, current): 
     356        scripts = soup.findAll('script', type="text/javascript") 
     357        for x in scripts: 
    350358            if len(x.contents) > 0 and 'base' in x.contents[0]: 
    351                 x.extract() 
    352                  
    353  
     359                base_url = x.contents[0].split('url="')[-1] 
     360                base_url = base_url.split('";')[0] 
     361                if '.htm' not in base_url: 
     362                    base_url += '.html' 
     363                url = self._convertLinkToRelative(base_url, current) 
     364                x.contents[0].replaceWith('var base_url="%s";' % url) 
     365  
     366         
    354367    def getDocumentLinks(self, soup): 
    355368        tags = soup.findAll('a') + soup.findAll('link') 
     
    371384                if back.has_key('href'): 
    372385                    back['href'] = current.replace('image_view_fullscreen.html', 'view.html') 
     386         
    373387 
    374388    def filterDocumentLink(self, link, current, portal, views):         
Note: See TracChangeset for help on using the changeset viewer.