# HG changeset patch # User Laurent Bessard # Date 1365113282 -7200 # Node ID 2925d6e49893e879e085918e7d5c44d24611b877 # Parent 3d79c31e4697bfcac6acb01fc9a22622013423cc Fixed bug when setting empty value to optional non-string parameters diff -r 3d79c31e4697 -r 2925d6e49893 xmlclass/xmlclass.py --- a/xmlclass/xmlclass.py Fri Apr 05 00:06:28 2013 +0200 +++ b/xmlclass/xmlclass.py Fri Apr 05 00:08:02 2013 +0200 @@ -1669,6 +1669,8 @@ raise ValueError("Wrong path!") if attributes[parts[0]]["attr_type"]["basename"] == "boolean": setattr(self, parts[0], value) + elif attributes[parts[0]]["use"] == "optional" and value == "": + setattr(self, parts[0], None) else: setattr(self, parts[0], attributes[parts[0]]["attr_type"]["extract"](value, False)) elif elements.has_key(parts[0]): @@ -1677,6 +1679,8 @@ raise ValueError("Wrong path!") if elements[parts[0]]["elmt_type"]["basename"] == "boolean": setattr(self, parts[0], value) + elif attributes[parts[0]]["minOccurs"] == 0 and value == "": + setattr(self, parts[0], None) else: setattr(self, parts[0], elements[parts[0]]["elmt_type"]["extract"](value, False)) else: