[Zope-Checkins] CVS: Zope2 - ObjectManager.py:1.136.6.2

Matthew T. Kromer matt@digicool.com
Mon, 21 May 2001 14:22:49 -0400 (EDT)


Update of /cvs-repository/Zope2/lib/python/OFS
In directory korak.digicool.com:/tmp/cvs-serv3069/lib/python/OFS

Modified Files:
      Tag: ajung-dropin-registry
	ObjectManager.py 
Log Message:
Separating out ZCatalogIndexes to being a dumb object -- still not complete
but this is a working checkpoint



--- Updated File ObjectManager.py in package Zope2 --
--- ObjectManager.py	2001/05/09 13:42:51	1.136.6.1
+++ ObjectManager.py	2001/05/21 18:22:18	1.136.6.2
@@ -233,13 +233,6 @@
             
         gmt = []
 
-        if interfaces is None:
-            if hasattr(self, '_product_interfaces'):
-                interfaces=self._product_interfaces
-            elif hasattr(self, 'aq_acquire'):
-                try: interfaces=self.aq_acquire('_product_interfaces')
-                except: pass    # Bleah generic pass is bad
-
         for entry in Products.meta_types:
             if interfaces is None:
                 if entry.get("visibility", None) == "Global":
@@ -717,5 +710,17 @@
             lst.append( (dirname + obj.id + "/" + name,child) )
 
     return lst
+
+class IFAwareObjectManager:
+    def all_meta_types(self, interfaces=None):
+
+        if interfaces is None:
+            if hasattr(self, '_product_interfaces'):
+                interfaces=self._product_interfaces
+            elif hasattr(self, 'aq_acquire'):
+                try: interfaces=self.aq_acquire('_product_interfaces')
+                except: pass    # Bleah generic pass is bad
+
+        return ObjectManager.all_meta_types(self, interfaces)
 
 Globals.default__class_init__(ObjectManager)