Changeset 761


Ignore:
Timestamp:
05/02/11 14:17:29 (3 years ago)
Author:
brent
Message:

Fixed several bugs and issues with link rewriting.

Location:
3.2/enpraxis.staticsite/tags/1.0-rc2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • 3.2/enpraxis.staticsite/tags/1.0-rc2/enpraxis.staticsite.egg-info/PKG-INFO

    r542 r761  
    11Metadata-Version: 1.0 
    22Name: enpraxis.staticsite 
    3 Version: 1.0dev-r537 
     3Version: 1.0-rc2dev-r552 
    44Summary: Create a static web site from your plone instance. 
    55Home-page: http://svn.plone.org/svn/plone/plone.example 
  • 3.2/enpraxis.staticsite/tags/1.0-rc2/enpraxis.staticsite.egg-info/SOURCES.txt

    r542 r761  
    4242enpraxis/staticsite/i18n/plone-ar.po 
    4343enpraxis/staticsite/i18n/plone-bn.po 
    44 enpraxis/staticsite/i18n/plone-br-pt.po 
    4544enpraxis/staticsite/i18n/plone-ca.po 
    4645enpraxis/staticsite/i18n/plone-de.po 
     
    4948enpraxis/staticsite/i18n/plone-fr.po 
    5049enpraxis/staticsite/i18n/plone-hi.po 
     50enpraxis/staticsite/i18n/plone-hu.po 
    5151enpraxis/staticsite/i18n/plone-it.po 
    5252enpraxis/staticsite/i18n/plone-ja.po 
     
    5454enpraxis/staticsite/i18n/plone-ne.po 
    5555enpraxis/staticsite/i18n/plone-nl.po 
     56enpraxis/staticsite/i18n/plone-pt-br.po 
    5657enpraxis/staticsite/i18n/plone-pt.po 
    5758enpraxis/staticsite/i18n/plone-ru.po 
     
    7071enpraxis/staticsite/locales/bn/LC_MESSAGES/staticsite.mo 
    7172enpraxis/staticsite/locales/bn/LC_MESSAGES/staticsite.po 
    72 enpraxis/staticsite/locales/br-pt/LC_MESSAGES/staticsite.mo 
    73 enpraxis/staticsite/locales/br-pt/LC_MESSAGES/staticsite.po 
    7473enpraxis/staticsite/locales/ca/LC_MESSAGES/staticsite.mo 
    7574enpraxis/staticsite/locales/ca/LC_MESSAGES/staticsite.po 
     
    8483enpraxis/staticsite/locales/hi/LC_MESSAGES/staticsite.mo 
    8584enpraxis/staticsite/locales/hi/LC_MESSAGES/staticsite.po 
     85enpraxis/staticsite/locales/hu/LC_MESSAGES/staticsite.mo 
     86enpraxis/staticsite/locales/hu/LC_MESSAGES/staticsite.po 
    8687enpraxis/staticsite/locales/it/LC_MESSAGES/staticsite.mo 
    8788enpraxis/staticsite/locales/it/LC_MESSAGES/staticsite.po 
     
    9495enpraxis/staticsite/locales/nl/LC_MESSAGES/staticsite.mo 
    9596enpraxis/staticsite/locales/nl/LC_MESSAGES/staticsite.po 
     97enpraxis/staticsite/locales/pt-br/LC_MESSAGES/staticsite.mo 
     98enpraxis/staticsite/locales/pt-br/LC_MESSAGES/staticsite.po 
    9699enpraxis/staticsite/locales/pt/LC_MESSAGES/staticsite.mo 
    97100enpraxis/staticsite/locales/pt/LC_MESSAGES/staticsite.po 
  • 3.2/enpraxis.staticsite/tags/1.0-rc2/enpraxis/staticsite/utilities/staticsiteutility.py

    r537 r761  
    3030from os.path import split as os_split 
    3131 
    32 from urllib2 import urlopen 
     32from urllib2 import urlopen, unquote 
    3333from urllib2 import HTTPError 
    3434from urlparse import urlparse, urlunparse 
     
    162162        path = self._getObjPath(url, portal.portal_url(), dpath) 
    163163        if folderish: 
    164             # print '@@@ '+  url + '/index.html' 
     164            #print '@@@ '+  url + '/index.html' 
    165165            self.processDocument(url, portal, dpath, ssprops, True) 
    166166        elif ctype in ['Page']: 
    167167            # Fix this so that it deals with the case where you have both a file and a file.html in the 
    168168            # same folder 
    169             # print '*** '+  url 
     169            #print '*** '+  url 
    170170            self.processDocument(url, portal, dpath, ssprops) 
    171171        else: 
     
    176176            aurl = urlparse(url) 
    177177            aurl = urlunparse((aurl[0], aurl[1], aurl[2] + '-view.html', aurl[3], aurl[4], aurl[5])) 
    178             # print 'vvv '+  aurl 
     178            #print 'vvv '+  aurl 
    179179            self.processDocument(url + '/view', portal, dpath, ssprops, alturl=aurl) 
    180180            # If it is an image process the fullscreen view 
     
    182182                aurl = urlparse(url) 
    183183                aurl = urlunparse((aurl[0], aurl[1], aurl[2] + '-image_view_fullscreen.html', aurl[3], aurl[4], aurl[5])) 
    184                 # print 'iii '+  aurl 
     184                #print 'iii '+  aurl 
    185185                self.processDocument(url + '/image_view_fullscreen', portal, dpath, ssprops, alturl=aurl) 
    186186 
     
    215215            return data 
    216216        except HTTPError, e:            
    217             # print '!!! Error : %s %s for url: %s' % (e.code, e.msg, e.filename) 
     217            print '!!! Error : %s %s for url: %s' % (e.code, e.msg, e.filename) 
    218218            return '' 
    219219             
     
    224224        else: 
    225225            f = open(fn, 'w') 
    226         f.write(data) 
     226        try: 
     227            f.write(data) 
     228        except TypeError, e: 
     229            pass 
    227230        f.close() 
    228231     
     
    237240        self.deployDocumentActions(portal, aurl, dpath, soup, ssprops) 
    238241        self.deployPresentationView(portal, aurl, dpath, soup, ssprops)         
    239         self.deployNonActionNonHTMLViews(portal, aurl, dpath, soup, ssprops) 
     242        self.deployNonActionNonHTMLViews(portal, url, aurl, dpath, soup, ssprops) 
    240243        if isFolderish: 
    241244            curl = aurl + '/index.html' 
     
    267270                body = self.runDocumentFilters(portal, current, asoup, ssprops) 
    268271                results = portal.portal_catalog.searchResults( 
    269                     query={'path':'/'.join(obj[:-1]),}, 
     272                    path={'query':'/'.join(obj[:-1]),}, 
    270273                    id=obj[-1]) 
    271274                if results: 
     
    307310                                body = self.runDocumentFilters(portal, current, asoup, ssprops) 
    308311                                results = portal.portal_catalog.searchResults( 
    309                                     query={'path':'/'.join(obj[:-1]),}, 
     312                                    path={'query':'/'.join(obj[:-1]),}, 
    310313                                    id=obj[-1]) 
    311314                                if results: 
     
    318321                                    self._writeFile(mpath, body) 
    319322 
    320     def deployNonActionNonHTMLViews(self, portal, aurl, dpath, soup, ssprops): 
     323    def deployNonActionNonHTMLViews(self, portal, ourl, aurl, dpath, soup, ssprops): 
    321324        #deploy non-html views that are not tied to views_to_add and not found as links within pages 
    322325        views_to_add = ssprops.getProperty('views_to_add') 
     
    325328        for view in views: 
    326329            if view == 'rdf': 
    327                 url = '%s/%s' % (aurl, view) 
     330                url = '%s/%s' % (ourl, view) 
    328331                raw = self._httpget(url) 
    329332                if len(raw) > 0: 
     
    347350        self.filterS5BaseUrl(soup, current)         
    348351        self.filterBaseFilesLinks(soup, current, portal, ssprops) 
     352        self.filterPortalLogo(soup) 
    349353        self.filterImageFullscreenBackLink(soup, current) 
    350354        self.filterCSSValidatorLink(soup, current, portal, ssprops) 
     
    357361                                                ssprops.getProperty('views_to_add'), 
    358362                                                ssprops.getProperty('non_html_views')) 
    359             # print '   %s => %s' %(orig, x['href']) 
     363            print '   %s => %s' %(orig, x['href']) 
    360364        data = soup.prettify() 
    361365        return self.filterPortalUrl(data, current) 
     
    492496                for tag in tags: 
    493497                    if portal_url in tag['src'] or len(tag['src'].split('/')) == 1: 
    494                         abs_link = self._convertLinkToAbsolute(tag['src'], portal_url)                     
    495                         rel_link = self._convertLinkToRelative(abs_link, current)                     
     498                        abs_link = self._convertLinkToAbsolute(tag['src'], portal_url + '/index.html')                     
     499                        rel_link = self._convertLinkToRelative(abs_link, current)  
     500                        tag['src'] = rel_link.replace(x, 'images/%s' %x)                    
    496501                    else: 
    497502                        rel_link = tag['src'] 
    498                     tag['src']  = rel_link.replace(x, 'images/%s' % x) 
     503                    #tag['src']  = rel_link.replace(x, 'images/%s' % x) 
     504 
     505    def filterPortalLogo(self, soup): 
     506        tags = soup.findAll('a', {'id':'portal-logo'}) 
     507        for tag in tags: 
     508            tag['href'] = '/' 
     509            img = tag('img') 
     510            if img: 
     511                img_name = img[0]['src'] 
     512                if img_name: 
     513                    img_name = img_name.split('/')[-1] 
     514                    img[0]['src'] = '/images/%s' %(img_name) 
    499515 
    500516    def getDocumentLinks(self, soup): 
     
    522538        hr = urlparse(link) 
    523539        if not hr[0] and not hr[1]: 
    524             cp = c[2].split('/') 
     540            cp = c[2].split('/')[:-1] 
    525541            hp = hr[2].split('/') 
    526542            p = [] 
     
    546562                view = h[-1] 
    547563                h = h[:-1] 
    548             results = portal.portal_catalog.searchResults(query={'path':'/'.join(h),}, id=h[-1]) 
     564            results = portal.portal_catalog.searchResults(path={'query':'/'.join(h),}, id=h[-1]) 
    549565            if results: 
    550566                path = '' 
     
    589605    def filterPortalUrl(self, data, current): 
    590606        """ Blanket filter to replace any remaining portal urls in the page. """ 
    591         return data.replace(current, '') 
     607        try: 
     608            return data.replace(current, '') 
     609        except UnicodeDecodeError,e: 
     610            pass 
    592611         
    593612 
Note: See TracChangeset for help on using the changeset viewer.