[Zope-Checkins] SVN: Zope/branches/tim-2.9-windows-installer/ - Collector #2002: fixed broken 'ls -R' functionality (didn't

Sidnei da Silva sidnei at enfoldsystems.com
Sat Jan 21 09:23:00 EST 2006


Log message for revision 41394:
  
        - Collector #2002: fixed broken 'ls -R' functionality (didn't
          recurse properly subclasses of OFS.Folder)
  

Changed:
  U   Zope/branches/tim-2.9-windows-installer/doc/CHANGES.txt
  U   Zope/branches/tim-2.9-windows-installer/lib/python/OFS/ObjectManager.py

-=-
Modified: Zope/branches/tim-2.9-windows-installer/doc/CHANGES.txt
===================================================================
--- Zope/branches/tim-2.9-windows-installer/doc/CHANGES.txt	2006-01-21 14:14:12 UTC (rev 41393)
+++ Zope/branches/tim-2.9-windows-installer/doc/CHANGES.txt	2006-01-21 14:23:00 UTC (rev 41394)
@@ -22,6 +22,11 @@
 
    - Collector #1233: port ZOPE_CONFIG patch from Zope 2.7 to Zope 2.8
 
+  after Zope 2.9.0
+
+      - Collector #2002: fixed broken 'ls -R' functionality (didn't
+        recurse properly subclasses of OFS.Folder)
+
   Zope 2.9.0 (2006/01/09)
 
     Bugs fixed

Modified: Zope/branches/tim-2.9-windows-installer/lib/python/OFS/ObjectManager.py
===================================================================
--- Zope/branches/tim-2.9-windows-installer/lib/python/OFS/ObjectManager.py	2006-01-21 14:14:12 UTC (rev 41393)
+++ Zope/branches/tim-2.9-windows-installer/lib/python/OFS/ObjectManager.py	2006-01-21 14:23:00 UTC (rev 41394)
@@ -524,7 +524,7 @@
             obj_ids.sort()
             for id in obj_ids:
                 o=self._getOb(id)
-                if hasattr(o, 'isPrincipiaFolderish') and \
+                if hasattr(aq_base(o), 'isPrincipiaFolderish') and \
                    o.isPrincipiaFolderish:
                     r.append(o)
         return r
@@ -641,7 +641,7 @@
                 break
             ob=ob.aq_parent
 
-        files=self.objectItems()
+        files = list(self.objectItems())
 
         # recursive ride through all subfolders (ls -R) (ajung)
 
@@ -649,15 +649,10 @@
 
             all_files = copy.copy(files)
             for f in files:
-                if f[1].meta_type == "Folder":
+                if hasattr(aq_base(f[1]), 'isPrincipiaFolderish') and f[1].isPrincipiaFolderish:
                     all_files.extend(findChildren(f[1]))
-                else:
-                    all_files.append(f)
-
             files = all_files
 
-        files = list(files)
-
         # Perform globbing on list of files (ajung)
 
         globbing = REQUEST.environ.get('GLOBBING','')
@@ -735,12 +730,12 @@
     find all children of an object (ajung)
     """
 
-    lst =[]
-    for name,child in obj.objectItems():
-        if child.meta_type=="Folder":
-            lst.extend(findChildren(child,dirname+ obj.id + '/'))
+    lst = []
+    for name, child in obj.objectItems():
+        if hasattr(aq_base(child), 'isPrincipiaFolderish') and child.isPrincipiaFolderish:
+            lst.extend(findChildren(child, dirname + obj.id + '/'))
         else:
-            lst.append( (dirname + obj.id + "/" + name,child) )
+            lst.append((dirname + obj.id + "/" + name, child))
 
     return lst
 



More information about the Zope-Checkins mailing list