Changeset: dad741646835 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dad741646835
Modified Files:
        clients/python2/monetdb/sql/pythonize.py
        clients/python3/monetdb/sql/pythonize.py
Branch: Jan2014
Log Message:

Accept times with or without second fractions.


diffs (98 lines):

diff --git a/clients/python2/monetdb/sql/pythonize.py 
b/clients/python2/monetdb/sql/pythonize.py
--- a/clients/python2/monetdb/sql/pythonize.py
+++ b/clients/python2/monetdb/sql/pythonize.py
@@ -52,14 +52,20 @@ def py_bool(data):
 def py_time(data):
     """ returns a python Time
     """
-    return datetime.datetime.strptime(data, '%H:%M:%S').time()
+    if '.' in data:
+        return datetime.datetime.strptime(data, '%H:%M:%S.%f').time()
+    else:
+        return datetime.datetime.strptime(data, '%H:%M:%S').time()
 
 
 def py_timetz(data):
     """ returns a python Time where data contains a tz code
     """
     t, timezone_delta = _extract_timezone(data)
-    return (datetime.datetime.strptime(t, '%H:%M:%S.%f') + 
timezone_delta).time()
+    if '.' in t:
+        return (datetime.datetime.strptime(t, '%H:%M:%S.%f') + 
timezone_delta).time()
+    else:
+        return (datetime.datetime.strptime(t, '%H:%M:%S') + 
timezone_delta).time()
 
 
 def py_date(data):
@@ -71,14 +77,19 @@ def py_date(data):
 def py_timestamp(data):
     """ Returns a python Timestamp
     """
-    return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S.%f')
-
+    if '.' in data:
+        return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S.%f')
+    else:
+        return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S')
 
 def py_timestamptz(data):
     """ Returns a python Timestamp where data contains a tz code
     """
     dt, timezone_delta = _extract_timezone(data)
-    return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S.%f') + 
timezone_delta
+    if '.' in dt:
+        return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S.%f') + 
timezone_delta
+    else:
+        return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S') + 
timezone_delta
 
 
 mapping = {
diff --git a/clients/python3/monetdb/sql/pythonize.py 
b/clients/python3/monetdb/sql/pythonize.py
--- a/clients/python3/monetdb/sql/pythonize.py
+++ b/clients/python3/monetdb/sql/pythonize.py
@@ -56,14 +56,20 @@ def py_bool(data):
 def py_time(data):
     """ returns a python Time
     """
-    return datetime.datetime.strptime(data, '%H:%M:%S').time()
+    if '.' in data:
+        return datetime.datetime.strptime(data, '%H:%M:%S.%f').time()
+    else:
+        return datetime.datetime.strptime(data, '%H:%M:%S').time()
 
 
 def py_timetz(data):
     """ returns a python Time where data contains a tz code
     """
     t, timezone_delta = _extract_timezone(data)
-    return (datetime.datetime.strptime(t, '%H:%M:%S.%f') + 
timezone_delta).time()
+    if '.' in t:
+        return (datetime.datetime.strptime(t, '%H:%M:%S.%f') + 
timezone_delta).time()
+    else:
+        return (datetime.datetime.strptime(t, '%H:%M:%S') + 
timezone_delta).time()
 
 
 def py_date(data):
@@ -75,14 +81,19 @@ def py_date(data):
 def py_timestamp(data):
     """ Returns a python Timestamp
     """
-    return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S.%f')
-
+    if '.' in data:
+        return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S.%f')
+    else:
+        return datetime.datetime.strptime(data, '%Y-%m-%d %H:%M:%S')
 
 def py_timestamptz(data):
     """ Returns a python Timestamp where data contains a tz code
     """
     dt, timezone_delta = _extract_timezone(data)
-    return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S.%f') + 
timezone_delta
+    if '.' in dt:
+        return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S.%f') + 
timezone_delta
+    else:
+        return datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S') + 
timezone_delta
 
 
 mapping = {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to