utils.py
changeset 3375 ebb11fa58ab9
parent 3369 7b88d12b4ee2
parent 3372 26b89dfe4170
child 3890 d7a270f50f54
--- a/utils.py	Tue Sep 22 19:33:47 2009 +0200
+++ b/utils.py	Wed Sep 23 08:17:52 2009 +0200
@@ -20,8 +20,6 @@
 from calendar import monthrange
 import decimal
 
-import simplejson
-
 # initialize random seed from current time
 seed()
 try:
@@ -364,24 +362,25 @@
     return True
 
 try:
-    # may not be there is cubicweb-web not there
-    from simplejson import JSONEncoder, dumps
+    # may not be there if cubicweb-web not installed
+    from simplejson import dumps, JSONEncoder
 except ImportError:
     pass
 else:
+
     class CubicWebJsonEncoder(JSONEncoder):
         """define a simplejson encoder to be able to encode yams std types"""
         def default(self, obj):
-            if isinstance(obj, datetime):
+            if isinstance(obj, pydatetime.datetime):
                 return obj.strftime('%Y/%m/%d %H:%M:%S')
-            elif isinstance(obj, date):
+            elif isinstance(obj, pydatetime.date):
                 return obj.strftime('%Y/%m/%d')
             elif isinstance(obj, pydatetime.time):
                 return obj.strftime('%H:%M:%S')
             elif isinstance(obj, decimal.Decimal):
                 return float(obj)
             try:
-                return simplejson.JSONEncoder.default(self, obj)
+                return JSONEncoder.default(self, obj)
             except TypeError:
                 # we never ever want to fail because of an unknown type,
                 # just return None in those cases.