SVN: Zope/branches/2.13/ Added forward compatibility with DateTime 3 by backporting c121602 and c121606 from trunk

Hanno Schlichting <[email protected]>
Newsgroups gmane.comp.web.zope.cvs
Message-ID <[email protected]>
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  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-checkins
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.