commit-gnue
[Top][All Lists]
Advanced

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

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


From: johannes
Subject: [gnue] r6941 - trunk/gnue-appserver/src
Date: Wed, 2 Feb 2005 13:39:00 -0600 (CST)

Author: johannes
Date: 2005-02-02 13:38:59 -0600 (Wed, 02 Feb 2005)
New Revision: 6941

Modified:
   trunk/gnue-appserver/src/geasGsdGen.py
Log:
Add support for python's datetime types


Modified: trunk/gnue-appserver/src/geasGsdGen.py
===================================================================
--- trunk/gnue-appserver/src/geasGsdGen.py      2005-02-02 19:10:52 UTC (rev 
6940)
+++ trunk/gnue-appserver/src/geasGsdGen.py      2005-02-02 19:38:59 UTC (rev 
6941)
@@ -27,6 +27,9 @@
 import string
 import mx.DateTime
 
+if sys.version_info [:2] >= (2, 3):
+  import datetime
+
 from gnue.common.apps import i18n, errors
 from gnue.common.schema import Objects
 from gnue.common.apps.GClientApp import *
@@ -51,7 +54,10 @@
     msg = u_("The class '%s' contains circular data-references") % classname
     errors.UserError.__init__ (self, msg)
 
+class ValueError (errors.SystemError):
+  pass
 
+
 # =============================================================================
 # Generate GNUe Schema Definition files
 # =============================================================================
@@ -315,6 +321,7 @@
     'datatype'.
     """
 
+    print "NATIVE:", repr (native)
     if datatype [:6] == "string" or datatype == "id":
       checktype (native, [types.NoneType, types.UnicodeType])
 
@@ -338,6 +345,10 @@
       if isinstance (native, mx.DateTime.DateTimeType):
         return native.date
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (native, datetime.date):
+        return native.isoformat ()
+
       else:
         raise ValueError, u_("%s is not a valid date object") % repr (native)
 
@@ -349,6 +360,14 @@
       elif isinstance (native, mx.DateTime.DateTimeDeltaType):
         return str (native)
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (native, datetime.time):
+        return native.isoformat ()
+
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (native, datetime.timedelta):
+        return "%s" % native
+
       else:
         raise ValueError, u_("%s is not a valid time object") % repr (native)
 
@@ -357,6 +376,10 @@
       if isinstance (native, mx.DateTime.DateTimeType):
         return str (native)
 
+      elif sys.version_info [:2] >= (2, 3) and \
+          isinstance (native, datetime.datetime):
+        return native.isoformat ()
+
       else:
         raise ValueError, \
             u_("%s is not a valid datetime object") % repr (native)





reply via email to

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