Serhiy Storchaka added the comment: Another limitation is that on 32-bit platform it is impossible to load date before datetime.datetime(1901, 12, 13, 20, 45, 52) from binary plist.
>>> plistlib.loads(b'bplist003'+struct.pack('>d', -2**31 - (31 * 365 + 8) * >>> 86400)+b'\x08\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11') datetime.datetime(1901, 12, 13, 20, 45, 52) >>> plistlib.loads(b'bplist003'+struct.pack('>d', -2**31 - (31 * 365 + 8) * >>> 86400 - >>> 1)+b'\x08\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/serhiy/py/cpython/Lib/plistlib.py", line 1006, in loads fp, fmt=fmt, use_builtin_types=use_builtin_types, dict_type=dict_type) File "/home/serhiy/py/cpython/Lib/plistlib.py", line 997, in load return p.parse(fp) File "/home/serhiy/py/cpython/Lib/plistlib.py", line 623, in parse return self._read_object(self._object_offsets[top_object]) File "/home/serhiy/py/cpython/Lib/plistlib.py", line 688, in _read_object return datetime.datetime.utcfromtimestamp(f + (31 * 365 + 8) * 86400) OverflowError: timestamp out of range for platform time_t Can second example be loaded by Apple tools on 32-bit? ---------- nosy: +serhiy.storchaka _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue22993> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com