Ignore:
Timestamp:
Dec 8, 2009 7:53:25 AM (15 years ago)
Author:
piv
Message:

merge from plone 2.1 branch: r2465-2483

Location:
quintagroup.transmogrifier/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.transmogrifier/trunk

    • Property svn:mergeinfo changed from /quintagroup.transmogrifier/branches/plone-2.1/quintagroup.transmogrifier:1387-1389,1394-1413 to /quintagroup.transmogrifier/branches/plone-2.1/quintagroup.transmogrifier:1387-1389,1394-1413,1426-1444
  • quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/sitewalker.py

    r415 r1446  
    33 
    44from collective.transmogrifier.interfaces import ISection, ISectionBlueprint 
     5from collective.transmogrifier.utils import Condition 
    56 
    67from Products.CMFCore.interfaces import IFolderish 
     
    2324        self.storage = self.anno.setdefault(VALIDATIONKEY, []) 
    2425 
     26        self.condition = Condition(options.get('condition', 'python:True'), 
     27                                   transmogrifier, name, options) 
     28 
     29    def getContained(self, obj): 
     30        contained = [(k, v) for k, v in obj.contentItems() 
     31                        if self.condition(None, context=v)] 
     32        return tuple(contained) 
     33 
    2534    def walk(self, obj): 
    2635        if IFolderish.providedBy(obj) or IBaseFolder.providedBy(obj): 
    27             contained = [(k, v.getPortalTypeName()) for k, v in obj.contentItems()] 
    28             yield obj, tuple(contained) 
    29             for v in obj.contentValues(): 
     36            contained = self.getContained(obj) 
     37            yield obj, tuple([(k, v.getPortalTypeName()) for k, v in contained]) 
     38            for k, v in contained: 
    3039                for x in self.walk(v): 
    3140                    yield x 
Note: See TracChangeset for help on using the changeset viewer.