Accepted None in tzname().

This is required by the tzinfo API, see Python's docs.

Also made _get_timezone_name deterministic.
This commit is contained in:
Aymeric Augustin 2013-02-11 21:50:49 +01:00
parent 7db770b013
commit 5a3d9490f1
2 changed files with 5 additions and 5 deletions

View File

@ -80,7 +80,8 @@ class LocalTimezone(tzinfo):
return ZERO
def tzname(self, dt):
return _time.tzname[self._isdst(dt)]
is_dst = False if dt is None else self._isdst(dt)
return _time.tzname[is_dst]
def _isdst(self, dt):
tt = (dt.year, dt.month, dt.day,
@ -145,8 +146,7 @@ def _get_timezone_name(timezone):
return timezone.zone
except AttributeError:
# for regular tzinfo objects
local_now = datetime.now(timezone)
return timezone.tzname(local_now)
return timezone.tzname(None)
# Timezone selection functions.

View File

@ -71,9 +71,9 @@ class LocalTimezone(tzinfo):
return timedelta(0)
def tzname(self, dt):
is_dst = False if dt is None else self._isdst(dt)
try:
return force_text(time.tzname[self._isdst(dt)],
DEFAULT_LOCALE_ENCODING)
return force_text(time.tzname[is_dst], DEFAULT_LOCALE_ENCODING)
except UnicodeDecodeError:
return None