[Erp5-report] r43227 kazuhiko - /erp5/trunk/products/ERP5/Tool/TemplateTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Feb 9 11:00:16 CET 2011


Author: kazuhiko
Date: Wed Feb  9 11:00:15 2011
New Revision: 43227

URL: http://svn.erp5.org?rev=43227&view=rev
Log:
treat boolean property correctly in _importBT() and also set an appropriate value for empty values (cf. r39108 and r39104).

Modified:
    erp5/trunk/products/ERP5/Tool/TemplateTool.py

Modified: erp5/trunk/products/ERP5/Tool/TemplateTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/TemplateTool.py?rev=43227&r1=43226&r2=43227&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/TemplateTool.py [utf8] Wed Feb  9 11:00:15 2011
@@ -333,19 +333,20 @@ class TemplateTool (BaseTool):
             prop_path = posixpath.join(tar.members[0].name, 'bt', pid)
             try:
               info = tar.getmember(prop_path)
+              value = tar.extractfile(info).read()
             except KeyError:
-              continue
-            value = tar.extractfile(info).read()
+              value = None
             if value is 'None':
               # At export time, we used to export non-existent properties:
               #   str(obj.getProperty('non-existing')) == 'None'
               # Discard them
               continue
-            if prop_type == 'text' or prop_type == 'string' \
-                                   or prop_type == 'int':
-              prop_dict[pid] = value
-            elif prop_type == 'lines' or prop_type == 'tokens':
-              prop_dict[pid[:-5]] = value.splitlines()
+            if prop_type in ('text', 'string'):
+              prop_dict[pid] = value or ''
+            elif prop_type in ('int', 'boolean'):
+              prop_dict[pid] = value or 0
+            elif prop_type in ('lines', 'tokens'):
+              prop_dict[pid[:-5]] = (value or '').splitlines()
           prop_dict.pop('id', '')
           bt.edit(**prop_dict)
           # import all other files from bt



More information about the Erp5-report mailing list