Log message for revision 121617: Added forward compatibility with DateTime 3 by backporting c121602 and c121606 from trunk
Changed: U Zope/branches/2.13/doc/CHANGES.rst U Zope/branches/2.13/src/App/PersistentExtra.py U Zope/branches/2.13/src/ZPublisher/Converters.py U Zope/branches/2.13/src/ZPublisher/tests/testHTTPRequest.py U Zope/branches/2.13/src/ZPublisher/xmlrpc.py -=- Modified: Zope/branches/2.13/doc/CHANGES.rst =================================================================== --- Zope/branches/2.13/doc/CHANGES.rst 2011-05-08 17:07:50 UTC (rev 121616) +++ Zope/branches/2.13/doc/CHANGES.rst 2011-05-08 17:10:23 UTC (rev 121617) @@ -15,6 +15,8 @@ Features Added ++++++++++++++ +- Added forward compatibility with DateTime 3. + - ZPublisher: HTTPResponse.appendHeader now keeps header values to a single line by default to avoid causing problems for proxy servers which do not correctly handle multi-line headers. Modified: Zope/branches/2.13/src/App/PersistentExtra.py =================================================================== --- Zope/branches/2.13/src/App/PersistentExtra.py 2011-05-08 17:07:50 UTC (rev 121616) +++ Zope/branches/2.13/src/App/PersistentExtra.py 2011-05-08 17:10:23 UTC (rev 121617) @@ -18,14 +18,14 @@ class PersistentUtil: def bobobase_modification_time(self): - jar=self._p_jar - oid=self._p_oid + jar = self._p_jar + oid = self._p_oid if jar is None or oid is None: return DateTime() try: t = self._p_mtime - except: + except AttributeError: t = 0 return DateTime(t) Modified: Zope/branches/2.13/src/ZPublisher/Converters.py =================================================================== --- Zope/branches/2.13/src/ZPublisher/Converters.py 2011-05-08 17:07:50 UTC (rev 121616) +++ Zope/branches/2.13/src/ZPublisher/Converters.py 2011-05-08 17:10:23 UTC (rev 121617) @@ -14,6 +14,7 @@ import re from types import ListType, TupleType, UnicodeType from DateTime import DateTime +from DateTime.interfaces import SyntaxError from cgi import escape # This may get overwritten during configuration @@ -106,16 +107,16 @@ v = field2string(v) try: v = DateTime(v) - except DateTime.SyntaxError, e: - raise DateTime.SyntaxError, "Invalid DateTime "+escape(`v`) + except SyntaxError: + raise SyntaxError("Invalid DateTime " + escape(repr(v))) return v def field2date_international(v): v = field2string(v) try: v = DateTime(v, datefmt="international") - except DateTime.SyntaxError, e: - raise DateTime.SyntaxError, "Invalid DateTime "+escape(`v`) + except SyntaxError: + raise SyntaxError("Invalid DateTime " + escape(repr(v))) return v def field2boolean(v): Modified: Zope/branches/2.13/src/ZPublisher/tests/testHTTPRequest.py =================================================================== --- Zope/branches/2.13/src/ZPublisher/tests/testHTTPRequest.py 2011-05-08 17:07:50 UTC (rev 121616) +++ Zope/branches/2.13/src/ZPublisher/tests/testHTTPRequest.py 2011-05-08 17:10:23 UTC (rev 121617) @@ -573,15 +573,15 @@ def test_processInputs_w_tainted_values_cleans_exceptions(self): # Feed tainted garbage to the conversion methods, and any exception # returned should be HTML safe - from DateTime.DateTime import DateTime + from DateTime.interfaces import SyntaxError from ZPublisher.Converters import type_converters for type, convert in type_converters.items(): try: convert('<html garbage>') - except Exception, e: + except Exception as e: self.assertFalse('<' in e.args, '%s converter does not quote unsafe value!' % type) - except DateTime.SyntaxError, e: + except SyntaxError as e: self.assertFalse('<' in e, '%s converter does not quote unsafe value!' % type) Modified: Zope/branches/2.13/src/ZPublisher/xmlrpc.py =================================================================== --- Zope/branches/2.13/src/ZPublisher/xmlrpc.py 2011-05-08 17:07:50 UTC (rev 121616) +++ Zope/branches/2.13/src/ZPublisher/xmlrpc.py 2011-05-08 17:10:23 UTC (rev 121617) @@ -32,7 +32,7 @@ # Make DateTime.DateTime marshallable via XML-RPC # http://www.zope.org/Collectors/Zope/2109 from DateTime.DateTime import DateTime -WRAPPERS = xmlrpclib.WRAPPERS + (DateTime,) +WRAPPERS = xmlrpclib.WRAPPERS + (DateTime, ) def dump_instance(self, value, write): # Check for special wrappers @@ -50,7 +50,9 @@ self.dump_struct(value, write) xmlrpclib.Marshaller.dispatch[types.InstanceType] = dump_instance +xmlrpclib.Marshaller.dispatch[DateTime] = dump_instance + def parse_input(data): """Parse input data and return a method path and argument tuple _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins