diff options
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 1727dce94..e3bc0b9c9 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -31,9 +31,7 @@ class SLInteger(sqltypes.Integer): class SLSmallInteger(sqltypes.Smallinteger): def get_col_spec(self): return "SMALLINT" -class SLDateTime(sqltypes.DateTime): - def get_col_spec(self): - return "TIMESTAMP" +class DateTimeMixin(object): def convert_bind_param(self, value, dialect): if value is not None: return str(value) @@ -49,16 +47,20 @@ class SLDateTime(sqltypes.DateTime): except ValueError: (value, microsecond) = (value, 0) return time.strptime(value, fmt)[0:6] + (microsecond,) + +class SLDateTime(sqltypes.DateTime, DateTimeMixin): + def get_col_spec(self): + return "TIMESTAMP" def convert_result_value(self, value, dialect): tup = self._cvt(value, dialect, "%Y-%m-%d %H:%M:%S") return tup and datetime.datetime(*tup) -class SLDate(SLDateTime): +class SLDate(sqltypes.Date, DateTimeMixin): def get_col_spec(self): return "DATE" def convert_result_value(self, value, dialect): tup = self._cvt(value, dialect, "%Y-%m-%d") return tup and datetime.date(*tup[0:3]) -class SLTime(SLDateTime): +class SLTime(sqltypes.Time, DateTimeMixin): def get_col_spec(self): return "TIME" def convert_result_value(self, value, dialect): |