Kaydet (Commit) 5a3d9490 authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Accepted None in tzname().

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

Also made _get_timezone_name deterministic.
üst 7db770b0
......@@ -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.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment