"""
Miscellanous bucket of everything
"""
import datetime
import time
class LocalTimezone (datetime.tzinfo) :
"""
Our platform's (the 'time' module) idea of our local timezone.
"""
ZERO = datetime.timedelta(0)
STDOFFSET = datetime.timedelta(seconds = -time.timezone)
if time.daylight:
DSTOFFSET = datetime.timedelta(seconds = -time.altzone)
else:
DSTOFFSET = STDOFFSET
DSTDIFF = DSTOFFSET - STDOFFSET
def _isdst (self, dt) :
# time tuple in local time
tt = (dt.year, dt.month, dt.day,
dt.hour, dt.minute, dt.second,
dt.weekday(), 0, -1)
# to UTC timestamp
stamp = time.mktime(tt)
# roundtrip..
tt = time.localtime(stamp)
# to figure out DST flag
return tt.tm_isdst > 0
def utcoffset (self, dt) :
if self._isdst(dt) :
return self.DSTOFFSET
else:
return self.STDOFFSET
def dst (self, dt) :
if self._isdst(dt) :
return self.DSTDIFF
else:
return self.ZERO
def tzname (self, dt) :
# varies by DST
return time.tzname[self._isdst(dt)]