1 #-*- coding: ISO-8859-1 -*-
2 # pysqlite2/dbapi2.py: the DB-API 2.0 interface
4 # Copyright (C) 2004-2005 Gerhard Häring <gh@ghaering.de>
6 # This file is part of pysqlite.
8 # This software is provided 'as-is', without any express or implied
9 # warranty. In no event will the authors be held liable for any damages
10 # arising from the use of this software.
12 # Permission is granted to anyone to use this software for any purpose,
13 # including commercial applications, and to alter it and redistribute it
14 # freely, subject to the following restrictions:
16 # 1. The origin of this software must not be misrepresented; you must not
17 # claim that you wrote the original software. If you use this software
18 # in a product, an acknowledgment in the product documentation would be
19 # appreciated but is not required.
20 # 2. Altered source versions must be plainly marked as such, and must not be
21 # misrepresented as being the original software.
22 # 3. This notice may not be removed or altered from any source distribution.
27 from _sqlite3
import *
39 Timestamp
= datetime
.datetime
41 def DateFromTicks(ticks
):
42 return Date(*time
.localtime(ticks
)[:3])
44 def TimeFromTicks(ticks
):
45 return Time(*time
.localtime(ticks
)[3:6])
47 def TimestampFromTicks(ticks
):
48 return Timestamp(*time
.localtime(ticks
)[:6])
50 version_info
= tuple([int(x
) for x
in version
.split(".")])
51 sqlite_version_info
= tuple([int(x
) for x
in sqlite_version
.split(".")])
55 def register_adapters_and_converters():
57 return val
.isoformat()
59 def adapt_datetime(val
):
60 return val
.isoformat(" ")
62 def convert_date(val
):
63 return datetime
.date(*map(int, val
.split("-")))
65 def convert_timestamp(val
):
66 datepart
, timepart
= val
.split(" ")
67 year
, month
, day
= map(int, datepart
.split("-"))
68 timepart_full
= timepart
.split(".")
69 hours
, minutes
, seconds
= map(int, timepart_full
[0].split(":"))
70 if len(timepart_full
) == 2:
71 microseconds
= int(timepart_full
[1])
75 val
= datetime
.datetime(year
, month
, day
, hours
, minutes
, seconds
, microseconds
)
79 register_adapter(datetime
.date
, adapt_date
)
80 register_adapter(datetime
.datetime
, adapt_datetime
)
81 register_converter("date", convert_date
)
82 register_converter("timestamp", convert_timestamp
)
84 register_adapters_and_converters()
88 del(register_adapters_and_converters
)