Changeset 355


Ignore:
Timestamp:
07/09/09 16:04:16 (5 years ago)
Author:
brent
Message:

Fixed the way folder views are written to the filesystem, to match the link rewrites.

Location:
enpraxis.staticsite/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • enpraxis.staticsite/trunk/enpraxis.staticsite.egg-info/PKG-INFO

    r321 r355  
    11Metadata-Version: 1.0 
    22Name: enpraxis.staticsite 
    3 Version: 1.0dev-r294 
     3Version: 1.0dev-r345 
    44Summary: Create a static web site from your plone instance. 
    55Home-page: http://svn.plone.org/svn/plone/plone.example 
  • enpraxis.staticsite/trunk/enpraxis/staticsite/utilities/staticsiteutility.py

    r354 r355  
    131131            self.processDocument(url, portal, dpath, ssprops) 
    132132        else: 
     133            # Write the object to the filesystem 
    133134            raw = self._httpget(url)  
    134135            self._writeFile(path, raw) 
     136            # Process the view of the object 
    135137            aurl = urlparse(url) 
    136138            aurl = urlunparse((aurl[0], aurl[1], aurl[2] + '-view.html', aurl[3], aurl[4], aurl[5])) 
    137139            print 'vvv '+  aurl 
    138140            self.processDocument(url + '/view', portal, dpath, ssprops, alturl=aurl) 
     141            # If it is an image process the fullscreen view 
    139142            if ctype in ['Image']: 
    140143                aurl = urlparse(url) 
     
    204207 
    205208    def deployDocumentActions(self, portal, current, dpath, soup, ssprops): 
     209        # Look for document actions 
    206210        raw_da = soup.find('div', {'class':'documentActions'}) 
    207211        if raw_da: 
     212            # Step through document actions and see if they are in the soup 
    208213            da = portal.portal_actions.document_actions.listActions() 
    209214            for x in da: 
     215                # If we are not ignoring the action 
    210216                if x.id not in ssprops.getProperty('actions_to_ignore'): 
     217                    # Find the action in the soup 
    211218                    act = raw_da.find('li', id='document-action-%s' %x.id) 
    212219                    if act: 
    213220                        link = act.find('a') 
    214221                        if link and link.has_key('href'): 
     222                            # Process the action 
    215223                            url = link['href'] 
    216224                            upath = urlparse(link['href']) 
    217                             if upath[2].split('/')[-1] in ssprops.getProperty('views_to_add'): 
     225                            p = upath[2].split('/') 
     226                            # If we are going to add the action, process it 
     227                            if p[-1] in ssprops.getProperty('views_to_add'): 
    218228                                mpath = self._getObjPath(url, portal.portal_url(), dpath) 
    219229                                mpath = os.path.split(mpath) 
     
    221231                                asoup = BeautifulSoup(raw) 
    222232                                body = self.runDocumentFilters(portal, current, asoup, ssprops) 
    223                                 mpath = '%s-%s.html' %(mpath[0], mpath[1]) 
    224                                 self._writeFile(mpath, body) 
     233                                q = p[:-1] 
     234                                results = portal.portal_catalog.searchResults(query={'path':'/'.join(q[:-1]),}, id=q[-1]) 
     235                                if results: 
     236                                    if results[0].is_folderish: 
     237                                        mpath = '%s/index-%s.html' %(mpath[0], mpath[1]) 
     238                                    else: 
     239                                        mpath = '%s-%s.html' %(mpath[0], mpath[1]) 
     240                                    self._writeFile(mpath, body) 
    225241 
    226242    def runViewFilters(self, id, portal, current, soup, ssprops): 
Note: See TracChangeset for help on using the changeset viewer.