return "SMALLINT"
class DateTimeMixin(object):
- def _bind_processor(self, format, element_range):
- elem = ("year", "month", "day", "hour",
- "minute", "second", "microsecond")[element_range[0]:element_range[1]]
+ def _bind_processor(self, format, elements):
def process(value):
if not isinstance(value, (NoneType, datetime.date, datetime.datetime, datetime.time)):
raise TypeError("SQLite Date, Time, and DateTime types only accept Python datetime objects as input.")
elif value is not None:
- return format % tuple([getattr(value, attr, 0) for attr in elem])
+ return format % tuple([getattr(value, attr, 0) for attr in elements])
else:
return None
return process
def bind_processor(self, dialect):
if self.__legacy_microseconds__:
- return self._bind_processor("%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%s", (0, 7))
+ return self._bind_processor(
+ "%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%s",
+ ("year", "month", "day", "hour", "minute", "second", "microsecond")
+ )
else:
- return self._bind_processor("%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%06d", (0, 7))
+ return self._bind_processor(
+ "%4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d.%06d",
+ ("year", "month", "day", "hour", "minute", "second", "microsecond")
+ )
_reg = re.compile(r"(\d+)-(\d+)-(\d+)(?: (\d+):(\d+):(\d+)(?:\.(\d+))?)?")
def result_processor(self, dialect):
return "DATE"
def bind_processor(self, dialect):
- return self._bind_processor("%4.4d-%2.2d-%2.2d", (0, 3))
+ return self._bind_processor(
+ "%4.4d-%2.2d-%2.2d",
+ ("year", "month", "day")
+ )
_reg = re.compile(r"(\d+)-(\d+)-(\d+)")
def result_processor(self, dialect):
def bind_processor(self, dialect):
if self.__legacy_microseconds__:
- return self._bind_processor("%2.2d:%2.2d:%2.2d.%s", (3, 7))
+ return self._bind_processor(
+ "%2.2d:%2.2d:%2.2d.%s",
+ ("hour", "minute", "second", "microsecond")
+ )
else:
- return self._bind_processor("%2.2d:%2.2d:%2.2d.%06d", (3, 7))
+ return self._bind_processor(
+ "%2.2d:%2.2d:%2.2d.%06d",
+ ("hour", "minute", "second", "microsecond")
+ )
_reg = re.compile(r"(\d+):(\d+):(\d+)(?:\.(\d+))?")
def result_processor(self, dialect):