diff --git a/normalization/ufonormalizer.py b/normalization/ufonormalizer.py index ccc7086..c9e8667 100644 --- a/normalization/ufonormalizer.py +++ b/normalization/ufonormalizer.py @@ -2467,9 +2467,14 @@ def propertyListObject(self, data): >>> writer.getText() == u'\\n\\ta\\n\\tb\\n' True + >>> writer = XMLWriter(declaration=None) + >>> writer.propertyListObject({"a" : 20.2}) + >>> writer.getText() == u'\\n\\ta\\n\\t20.2\\n' + True + >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject({"a" : 20.0}) - >>> writer.getText() == u'\\n\\ta\\n\\t20\\n' + >>> writer.getText() == u'\\n\\ta\\n\\t20\\n' True >>> writer = XMLWriter(declaration=None) @@ -2533,28 +2538,28 @@ def propertyListObject(self, data): >>> writer.getText() == u'-1.1' True + Integer + ------- >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject(1.0) - >>> writer.getText() == u'1' + >>> writer.getText() == u'1' True >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject(-1.0) - >>> writer.getText() == u'-1' + >>> writer.getText() == u'-1' True >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject(0.0) - >>> writer.getText() == u'0' + >>> writer.getText() == u'0' True >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject(-0.0) - >>> writer.getText() == u'0' + >>> writer.getText() == u'0' True - Integer - ------- >>> writer = XMLWriter(declaration=None) >>> writer.propertyListObject(1) >>> writer.getText() == u'1' @@ -2635,7 +2640,12 @@ def propertyListObject(self, data): elif isinstance(data, (int, long)): self._plistInt(data) elif isinstance(data, float): - self._plistFloat(data) + dataStr = xmlConvertFloat(data) + try: + data = int(dataStr) + self._plistInt(data) + except ValueError: + self._plistFloat(data) elif isinstance(data, plistlib.Data): self._plistData(data) elif isinstance(data, datetime.datetime):