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 | |
parent | 1641eb6b6d9886df7752d7ecf5ec12e7e9a6c021 (diff) | |
download | logilab-common-83644c460e37f712457b1b7fbeffc4a9755c6afa.tar.gz |
fixed time handling and added an adapter for DateTimeDeltaType
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | configuration.py | 1 | ||||
-rw-r--r-- | db.py | 22 |
3 files changed, 14 insertions, 10 deletions
@@ -4,6 +4,7 @@ ChangeLog for logilab.common -- * db: - fixed bug when querying boolean on sqlite using python's bool type + - fixed time handling and added an adapter for DateTimeDeltaType - added "drop_on_commit" argument to create_temporary_table on db helper - added missing implementation of executemany on pysqlite2 wrapper to support pyargs correctly like execute diff --git a/configuration.py b/configuration.py index 1337cd4..4dff336 100644 --- a/configuration.py +++ b/configuration.py @@ -73,7 +73,6 @@ config.generate_config() from __future__ import generators -__revision__ = "$Id: configuration.py,v 1.40 2005-11-22 13:13:00 syt Exp $" __docformat__ = "restructuredtext en" __all__ = ('OptionsManagerMixIn', 'OptionsProviderMixIn', 'ConfigurationMixIn', 'Configuration', @@ -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) |