summaryrefslogtreecommitdiff
path: root/db.py
diff options
context:
space:
mode:
authorSylvain <syt@logilab.fr>2006-09-20 18:14:06 +0200
committerSylvain <syt@logilab.fr>2006-09-20 18:14:06 +0200
commit83644c460e37f712457b1b7fbeffc4a9755c6afa (patch)
treeec340bd1be364335698ba2028c4d0a2961daff9e /db.py
parent1641eb6b6d9886df7752d7ecf5ec12e7e9a6c021 (diff)
downloadlogilab-common-83644c460e37f712457b1b7fbeffc4a9755c6afa.tar.gz
fixed time handling and added an adapter for DateTimeDeltaType
Diffstat (limited to 'db.py')
-rw-r--r--db.py22
1 files changed, 13 insertions, 9 deletions
diff --git a/db.py b/db.py
index 75ffbd7..bcf77df 100644
--- a/db.py
+++ b/db.py
@@ -252,27 +252,31 @@ class _PySqlite2Adapter(DBAPIAdapter):
if hasattr(sqlite, '_mx_initialized'):
return
- from mx.DateTime import DateTimeType, strptime
+ from mx.DateTime import DateTimeType, DateTimeDeltaType, strptime
from StringIO import StringIO
def adapt_mxdatetime(mxd):
- return mxd.strftime('%F %H:%M:%S')
+ return mxd.strftime('%Y-%m-%d %H:%M:%S')
sqlite.register_adapter(DateTimeType, adapt_mxdatetime)
+ def adapt_mxdatetimedelta(mxd):
+ return mxd.strftime('%H:%M:%S')
+ sqlite.register_adapter(DateTimeDeltaType, adapt_mxdatetimedelta)
+
def convert_mxdate(ustr):
- return strptime(ustr, '%F %H:%M:%S')
+ return strptime(ustr, '%Y-%m-%d %H:%M:%S')
sqlite.register_converter('date', convert_mxdate)
def convert_mxdatetime(ustr):
- try:
- return strptime(ustr, '%F %H:%M:%S')
- except Exception, ex:
- print ex, ustr
- return ustr
+ return strptime(ustr, '%Y-%m-%d %H:%M:%S')
sqlite.register_converter('timestamp', convert_mxdatetime)
def convert_mxtime(ustr):
- return strptime(ustr, '%H:%M')
+ try:
+ return strptime(ustr, '%H:%M:%S')
+ except:
+ # DateTime used as Time?
+ return strptime(ustr, '%Y-%m-%d %H:%M:%S')
sqlite.register_converter('time', convert_mxtime)