commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r6926 - trunk/gnue-appserver/src


From: johannes
Subject: [gnue] r6926 - trunk/gnue-appserver/src
Date: Mon, 31 Jan 2005 12:02:06 -0600 (CST)

Author: johannes
Date: 2005-01-31 12:02:05 -0600 (Mon, 31 Jan 2005)
New Revision: 6926

Modified:
   trunk/gnue-appserver/src/geasInstance.py
Log:
Added support for python's datetime-module


Modified: trunk/gnue-appserver/src/geasInstance.py
===================================================================
--- trunk/gnue-appserver/src/geasInstance.py    2005-01-28 09:17:31 UTC (rev 
6925)
+++ trunk/gnue-appserver/src/geasInstance.py    2005-01-31 18:02:05 UTC (rev 
6926)
@@ -23,9 +23,13 @@
 
 import types
 import string
+import sys
 import mx.DateTime
 import mx.DateTime.ISO
 
+if sys.version_info [:2] >= (2, 3):
+  import datetime
+
 from gnue import appserver
 from gnue.appserver.language import Object, Session
 from gnue.common.logic.language import getLanguageAdapter
@@ -143,6 +147,10 @@
       elif isinstance (value, types.StringType):
         value = mx.DateTime.ISO.ParseDateTime (value + ' 00:00:00')
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (value, datetime.date):
+        value = mx.DateTime.ISO.ParseDateTime (value.isoformat () + ' 
00:00:00')
+
       if isinstance (value, mx.DateTime.DateTimeType):
         return mx.DateTime.DateTime (value.year, value.month, value.day,
                                      0, 0, 0)
@@ -157,6 +165,15 @@
       elif isinstance (value, types.StringType):
         value = mx.DateTime.ISO.ParseDateTime ('0001-01-01 ' + value)
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (value, datetime.time):
+        value = mx.DateTime.ISO.ParseDateTime ('0001-01-01 ' + \
+                                               value.isoformat ())
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (value, datetime.timedelta):
+        value = datetime.datetime (1, 1, 1) + value
+        value = mx.DateTime.ISO.ParseDateTime (value.isoformat ())
+
       if isinstance (value, mx.DateTime.DateTimeType) or \
          isinstance (value, mx.DateTime.DateTimeDeltaType):
         return mx.DateTime.DateTime (1, 1, 1,
@@ -169,9 +186,14 @@
       # such
       if isinstance (value, types.UnicodeType):
         return mx.DateTime.ISO.ParseDateTime (value.encode ('utf-8'))
+
       elif isinstance (value, types.StringType):
         return mx.DateTime.ISO.ParseDateTime (value)
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (value, datetime.datetime):
+        return mx.DateTime.ISO.ParseDateTime (value.isoformat ())
+
       if isinstance (value, mx.DateTime.DateTimeType):
         return value
       else:





reply via email to

[Prev in Thread] Current Thread [Next in Thread]