Commit 5a3d9490 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Accepted None in tzname().

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

Also made _get_timezone_name deterministic.
parent 7db770b0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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.

+2 −2
Original line number Diff line number Diff line
@@ -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