[Erp5-report] r34681 jerome - in /erp5/trunk/products/ERP5Type: ./ Accessor/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Apr 20 13:54:14 CEST 2010


Author: jerome
Date: Tue Apr 20 13:54:11 2010
New Revision: 34681

URL: http://svn.erp5.org?rev=34681&view=rev
Log:
Fix set value accessors (like setRegionValueSet).
They were not filtering out duplicates

Modified:
    erp5/trunk/products/ERP5Type/Accessor/Value.py
    erp5/trunk/products/ERP5Type/Base.py
    erp5/trunk/products/ERP5Type/tests/testERP5Type.py

Modified: erp5/trunk/products/ERP5Type/Accessor/Value.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Accessor/Value.py?rev=34681&r1=34680&r2=34681&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Value.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Value.py [utf8] Tue Apr 20 13:54:11 2010
@@ -48,7 +48,8 @@
     def __call__(self, instance, *args, **kw):
       if self._warning:
         LOG("ERP5Type Deprecated Setter Id:",0, self._id)
-      instance._setValue(self._key, args[0],
+      value = set(args[0])
+      instance._setValue(self._key, value,
                                                 spec=kw.get('spec',()),
                                                 filter=kw.get('filter', None),
                                                 portal_type=kw.get('portal_type',()),

Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=34681&r1=34680&r2=34681&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Base.py [utf8] Tue Apr 20 13:54:11 2010
@@ -2004,7 +2004,7 @@
       # We have been provided a string
       path = target
       if path.startswith(start_string): path = path[start_string_len:] # Prevent duplicating base category
-    elif isinstance(target, (tuple, list)):
+    elif isinstance(target, (tuple, list, set, frozenset)):
       # We have been provided a list or tuple
       path_list = []
       for target_item in target:

Modified: erp5/trunk/products/ERP5Type/tests/testERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/testERP5Type.py?rev=34681&r1=34680&r2=34681&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/testERP5Type.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/testERP5Type.py [utf8] Tue Apr 20 13:54:11 2010
@@ -675,6 +675,7 @@
       person.setRegionValueList([alpha, alpha])
       self.assertEquals(person.getRegionList(), ['alpha', 'alpha'])
       person.setRegionValueSet([alpha, alpha])
+      self.assertEquals(person.getRegionList(), ['alpha'])
       self.assertEquals(person.getRegionSet(), ['alpha'])
       person.setRegionValueList([alpha, beta, alpha])
       self.assertEquals(person.getRegionList(), ['alpha', 'beta', 'alpha'])




More information about the Erp5-report mailing list