Changeset 1599 in products


Ignore:
Timestamp:
Jan 27, 2010 5:27:53 PM (14 years ago)
Author:
mylan
Message:

Update sitewalker section for get all content of the container (without CMFCore.PortalFolder?'s filtering) + update object's type detection.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.transmogrifier/branches/ofs/quintagroup/transmogrifier/sitewalker.py

    r1446 r1599  
    2828 
    2929    def getContained(self, obj): 
    30         contained = [(k, v) for k, v in obj.contentItems() 
     30        contained = [(k, v) for k, v in obj.objectItems() 
    3131                        if self.condition(None, context=v)] 
    3232        return tuple(contained) 
    3333 
     34    def getType(obj): 
     35        if hasattr(obj, 'getPortalTypeName'): 
     36            return obj.getPortalTypeName() 
     37        return 'meta_type:%s' % obj.meta_type 
     38 
    3439    def walk(self, obj): 
     40        if obj.absolute_url().endswith('clark-county'): 
     41            import pdb;pdb.set_trace() 
    3542        if IFolderish.providedBy(obj) or IBaseFolder.providedBy(obj): 
    3643            contained = self.getContained(obj) 
    37             yield obj, tuple([(k, v.getPortalTypeName()) for k, v in contained]) 
     44            yield obj, tuple([(k, self.getType(v) for k, v in contained]) 
    3845            for k, v in contained: 
    3946                for x in self.walk(v): 
     
    4956            item = { 
    5057                self.pathkey: '/'.join(obj.getPhysicalPath()[2:]), 
    51                 self.typekey: obj.getPortalTypeName(), 
     58                self.typekey: self.getType(obj), 
    5259            } 
    5360            if contained: 
Note: See TracChangeset for help on using the changeset viewer.