[Erp5-report] r43353 nicolas.dumazet - /erp5/trunk/products/ERP5Type/Accessor/Acquired.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 15 15:08:49 CET 2011


Author: nicolas.dumazet
Date: Tue Feb 15 15:08:49 2011
New Revision: 43353

URL: http://svn.erp5.org?rev=43353&view=rev
Log:
prepare accessor generation changes by delaying hashing responsability to the
accessor class instead of spending cycles iterating over all accessor arguments
to convert them ALL to tuples no matter what.

Modified:
    erp5/trunk/products/ERP5Type/Accessor/Acquired.py

Modified: erp5/trunk/products/ERP5Type/Accessor/Acquired.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Accessor/Acquired.py?rev=43353&r1=43352&r2=43353&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Acquired.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Acquired.py [utf8] Tue Feb 15 15:08:49 2011
@@ -61,6 +61,16 @@ class DefaultGetter(BaseGetter):
       self._property_type = property_type
       self._null = type_definition[property_type]['null']
       self._default = default
+
+      # These values are hashed by _get*AcquiredProperty: to be
+      # hashable, they need to be converted to tuples
+      if isinstance(acquisition_base_category, list):
+        acquisition_base_category = tuple(acquisition_base_category)
+      if isinstance(acquisition_object_id, list):
+        acquisition_object_id = tuple(acquisition_object_id)
+      if isinstance(acquisition_portal_type, list):
+        acquisition_portal_type = tuple(acquisition_portal_type)
+
       self._acquisition_base_category = acquisition_base_category
       self._acquisition_portal_type = acquisition_portal_type
       self._acquisition_accessor_id = acquisition_accessor_id
@@ -139,6 +149,16 @@ class ListGetter(BaseGetter):
       self._property_type = property_type
       self._null = type_definition[property_type]['null']
       self._default = default
+
+      # These values are hashed by _get*AcquiredProperty: to be
+      # hashable, they need to be converted to tuples
+      if isinstance(acquisition_base_category, list):
+        acquisition_base_category = tuple(acquisition_base_category)
+      if isinstance(acquisition_object_id, list):
+        acquisition_object_id = tuple(acquisition_object_id)
+      if isinstance(acquisition_portal_type, list):
+        acquisition_portal_type = tuple(acquisition_portal_type)
+
       self._acquisition_base_category = acquisition_base_category
       self._acquisition_portal_type = acquisition_portal_type
       self._acquisition_accessor_id = acquisition_accessor_id



More information about the Erp5-report mailing list