[Erp5-report] r38854 jm - /erp5/trunk/products/ERP5Type/Base.py

nobody at svn.erp5.org nobody at svn.erp5.org
Sat Oct 2 22:33:05 CEST 2010


Author: jm
Date: Sat Oct  2 22:33:04 2010
New Revision: 38854

URL: http://svn.erp5.org?rev=38854&view=rev
Log:
Use sets instead of dicts

Modified:
    erp5/trunk/products/ERP5Type/Base.py

Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=38854&r1=38853&r2=38854&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Base.py [utf8] Sat Oct  2 22:33:04 2010
@@ -290,7 +290,7 @@ class WorkflowMethod(Method):
       self._invoke_always = {}
 
 def _aq_reset():
-  Base.aq_method_generated = {}
+  Base.aq_method_generated = set()
   Base.aq_portal_type = {}
   Base.aq_related_generated = 0
   try:
@@ -525,7 +525,7 @@ def getClassPropertyList(klass):
   return ps_list
 
 def initializeClassDynamicProperties(self, klass):
-  if not Base.aq_method_generated.has_key(klass):
+  if klass not in Base.aq_method_generated:
     # Recurse to superclasses
     for super_klass in klass.__bases__:
       if getattr(super_klass, 'isRADContent', 0):
@@ -536,7 +536,7 @@ def initializeClassDynamicProperties(sel
       if getattr(klass, 'isRADContent', 0):
         setDefaultClassProperties(klass)
       # Mark as generated
-      Base.aq_method_generated[klass] = 1
+      Base.aq_method_generated.add(klass)
 
 def initializePortalTypeDynamicProperties(self, klass, ptype, aq_key, portal):
   ## Init CachingMethod which implements caching for ERP5
@@ -761,7 +761,7 @@ class Base( CopyContainer,
 
   # Dynamic method acquisition system (code generation)
   aq_method_lock = threading.RLock()
-  aq_method_generated = {}
+  aq_method_generated = set()
   aq_method_generating = []
   aq_portal_type = {}
   aq_related_generated = 0
@@ -908,8 +908,7 @@ class Base( CopyContainer,
           klass = klass.__bases__[0]
 
         # Generate class methods
-        if klass not in Base.aq_method_generated:
-          initializeClassDynamicProperties(self, klass)
+        initializeClassDynamicProperties(self, klass)
 
         # Iterate until an ERP5 Site is obtained.
         portal = self.getPortalObject()
@@ -925,7 +924,7 @@ class Base( CopyContainer,
       if not Base.aq_related_generated:
         from Utils import createRelatedValueAccessors
         portal_types = getToolByName(portal, 'portal_types', None)
-        generated_bid = {}
+        generated_bid = set()
         econtext = createExpressionContext(object=self, portal=portal)
         for pid, ps in PropertySheet.__dict__.iteritems():
           if pid[0] != '_':
@@ -942,12 +941,12 @@ class Base( CopyContainer,
             for bid in base_category_list:
               if bid not in generated_bid:
                 createRelatedValueAccessors(None, bid)
-                generated_bid[bid] = 1
+                generated_bid.add(bid)
         for ptype in portal_types.listTypeInfo():
           for bid in ptype.getTypeBaseCategoryList():
             if bid not in generated_bid :
               createRelatedValueAccessors(None, bid)
-              generated_bid[bid] = 1
+              generated_bid.add(bid)
 
         Base.aq_related_generated = 1
 




More information about the Erp5-report mailing list