diff options
author | Sylvain <syt@logilab.fr> | 2006-09-20 18:14:06 +0200 |
---|---|---|
committer | Sylvain <syt@logilab.fr> | 2006-09-20 18:14:06 +0200 |
commit | 83644c460e37f712457b1b7fbeffc4a9755c6afa (patch) | |
tree | ec340bd1be364335698ba2028c4d0a2961daff9e /db.py | |
parent | 1641eb6b6d9886df7752d7ecf5ec12e7e9a6c021 (diff) | |
download | logilab-common-83644c460e37f712457b1b7fbeffc4a9755c6afa.tar.gz |
fixed time handling and added an adapter for DateTimeDeltaType
Diffstat (limited to 'db.py')
-rw-r--r-- | db.py | 22 |
1 files changed, 13 insertions, 9 deletions
@@ -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) |