Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package python-tz This contains timezone changes needed later this year (and beyond). diff attached. unblock python-tz/2019.1 -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_IE.UTF-8), LANGUAGE=en_IE:en (charmap=UTF-8) (ignored: LC_ALL set to en_IE.UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
diff -urN python-tz-2018.9/debian/changelog python-tz-2019.1/debian/changelog --- python-tz-2018.9/debian/changelog 2019-01-10 13:55:01.000000000 +0000 +++ python-tz-2019.1/debian/changelog 2019-04-16 15:07:08.000000000 +0100 @@ -1,3 +1,9 @@ +python-tz (2019.1-1) unstable; urgency=medium + + * New upstream release + + -- Alastair McKinstry <mckins...@debian.org> Tue, 16 Apr 2019 15:07:08 +0100 + python-tz (2018.9-1) unstable; urgency=medium * New upstream release diff -urN python-tz-2018.9/PKG-INFO python-tz-2019.1/PKG-INFO --- python-tz-2018.9/PKG-INFO 2019-01-07 07:54:30.000000000 +0000 +++ python-tz-2019.1/PKG-INFO 2019-04-10 03:11:43.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: pytz -Version: 2018.9 +Version: 2019.1 Summary: World timezone definitions, modern and historical Home-page: http://pythonhosted.org/pytz Author: Stuart Bishop diff -urN python-tz-2018.9/pytz/__init__.py python-tz-2019.1/pytz/__init__.py --- python-tz-2018.9/pytz/__init__.py 2019-04-23 17:08:58.000000000 +0100 +++ python-tz-2019.1/pytz/__init__.py 2019-04-23 17:09:38.000000000 +0100 @@ -16,14 +16,14 @@ from pytz.exceptions import InvalidTimeError from pytz.exceptions import NonExistentTimeError from pytz.exceptions import UnknownTimeZoneError -from pytz.lazy import LazyDict, LazyList, LazySet +from pytz.lazy import LazyDict, LazyList, LazySet # noqa from pytz.tzinfo import unpickler, BaseTzInfo from pytz.tzfile import build_tzinfo # The IANA (nee Olson) database is updated several times a year. -OLSON_VERSION = '2018i' -VERSION = '2018.9' # pip compatible version number. +OLSON_VERSION = '2019a' +VERSION = '2019.1' # pip compatible version number. __version__ = VERSION OLSEN_VERSION = OLSON_VERSION # Old releases had this misspelling @@ -157,6 +157,9 @@ Unknown ''' + if zone is None: + raise UnknownTimeZoneError(None) + if zone.upper() == 'UTC': return utc @@ -166,9 +169,9 @@ # All valid timezones are ASCII raise UnknownTimeZoneError(zone) - zone = _unmunge_zone(zone) + zone = _case_insensitive_zone_lookup(_unmunge_zone(zone)) if zone not in _tzinfo_cache: - if zone in all_timezones_set: + if zone in all_timezones_set: # noqa fp = open_resource(zone) try: _tzinfo_cache[zone] = build_tzinfo(zone, fp) @@ -185,6 +188,11 @@ return zone.replace('_plus_', '+').replace('_minus_', '-') +def _case_insensitive_zone_lookup(zone): + """case-insensitively matching timezone, else return zone unchanged""" + return _all_timezones_lower_to_standard.get(zone.lower()) or zone # noqa + + ZERO = datetime.timedelta(0) HOUR = datetime.timedelta(hours=1) @@ -272,6 +280,8 @@ False """ return utc + + _UTC.__safe_for_unpickling__ = True @@ -282,6 +292,8 @@ by shortening the path. """ return unpickler(*args) + + _p.__safe_for_unpickling__ = True @@ -330,7 +342,7 @@ if line.startswith('#'): continue code, coordinates, zone = line.split(None, 4)[:3] - if zone not in all_timezones_set: + if zone not in all_timezones_set: # noqa continue try: data[code].append(zone) @@ -340,6 +352,7 @@ finally: zone_tab.close() + country_timezones = _CountryTimezoneDict() @@ -363,6 +376,7 @@ finally: zone_tab.close() + country_names = _CountryNameDict() @@ -474,6 +488,7 @@ return info + FixedOffset.__safe_for_unpickling__ = True @@ -483,6 +498,7 @@ import pytz return doctest.testmod(pytz) + if __name__ == '__main__': _test() all_timezones = \ @@ -1082,6 +1098,7 @@ tz for tz in all_timezones if resource_exists(tz)) all_timezones_set = LazySet(all_timezones) +_all_timezones_lower_to_standard = dict((tz.lower(), tz) for tz in all_timezones) common_timezones = \ ['Africa/Abidjan', 'Africa/Accra', diff -urN python-tz-2018.9/pytz/tests/test_tzinfo.py python-tz-2019.1/pytz/tests/test_tzinfo.py --- python-tz-2018.9/pytz/tests/test_tzinfo.py 2019-01-07 07:54:28.000000000 +0000 +++ python-tz-2019.1/pytz/tests/test_tzinfo.py 2019-04-10 03:00:19.000000000 +0100 @@ -20,15 +20,15 @@ # the paths already sys.path.insert(0, os.path.abspath(os.path.join(os.pardir, os.pardir))) -import pytz -from pytz import reference -from pytz.tzfile import _byte_string -from pytz.tzinfo import DstTzInfo, StaticTzInfo +import pytz # noqa +from pytz import reference # noqa +from pytz.tzfile import _byte_string # noqa +from pytz.tzinfo import DstTzInfo, StaticTzInfo # noqa # I test for expected version to ensure the correct version of pytz is # actually being tested. -EXPECTED_VERSION = '2018.9' -EXPECTED_OLSON_VERSION = '2018i' +EXPECTED_VERSION = '2019.1' +EXPECTED_OLSON_VERSION = '2019a' fmt = '%Y-%m-%d %H:%M:%S %Z%z' @@ -758,6 +758,18 @@ self.assertFalse('Europe/Belfast' in pytz.common_timezones_set) +class ZoneCaseInsensitivityTestCase(unittest.TestCase): + def test_lower_case_timezone_constructor_arg(self): + for tz in pytz.all_timezones_set: + from_lower = pytz.timezone(tz.lower()) + from_passed = pytz.timezone(tz) + self.assertEqual(from_lower, + from_passed, + "arg '%s' and arg '%s' produce different " + "timezone objects" % ( + from_lower, from_passed)) + + class BaseTzInfoTestCase: '''Ensure UTC, StaticTzInfo and DstTzInfo work consistently. Binary files python-tz-2018.9/pytz/zoneinfo/America/Metlakatla and python-tz-2019.1/pytz/zoneinfo/America/Metlakatla differ Binary files python-tz-2018.9/pytz/zoneinfo/Asia/Gaza and python-tz-2019.1/pytz/zoneinfo/Asia/Gaza differ Binary files python-tz-2018.9/pytz/zoneinfo/Asia/Hebron and python-tz-2019.1/pytz/zoneinfo/Asia/Hebron differ Binary files python-tz-2018.9/pytz/zoneinfo/Asia/Jerusalem and python-tz-2019.1/pytz/zoneinfo/Asia/Jerusalem differ Binary files python-tz-2018.9/pytz/zoneinfo/Asia/Tel_Aviv and python-tz-2019.1/pytz/zoneinfo/Asia/Tel_Aviv differ Binary files python-tz-2018.9/pytz/zoneinfo/Etc/UCT and python-tz-2019.1/pytz/zoneinfo/Etc/UCT differ diff -urN python-tz-2018.9/pytz/zoneinfo/iso3166.tab python-tz-2019.1/pytz/zoneinfo/iso3166.tab --- python-tz-2018.9/pytz/zoneinfo/iso3166.tab 2019-01-07 07:54:28.000000000 +0000 +++ python-tz-2019.1/pytz/zoneinfo/iso3166.tab 2019-04-10 03:00:17.000000000 +0100 @@ -9,8 +9,8 @@ # All text uses UTF-8 encoding. The columns of the table are as follows: # # 1. ISO 3166-1 alpha-2 country code, current as of -# ISO 3166-1 N905 (2016-11-15). See: Updates on ISO 3166-1 -# http://isotc.iso.org/livelink/livelink/Open/16944257 +# ISO 3166-1 N976 (2018-11-06). See: Updates on ISO 3166-1 +# https://isotc.iso.org/livelink/livelink/Open/16944257 # 2. The usual English name for the coded region, # chosen so that alphabetic sorting of subsets produces helpful lists. # This is not the same as the English name in the ISO 3166 tables. @@ -166,7 +166,7 @@ MF St Martin (French) MG Madagascar MH Marshall Islands -MK Macedonia +MK North Macedonia ML Mali MM Myanmar (Burma) MN Mongolia @@ -235,7 +235,7 @@ SV El Salvador SX St Maarten (Dutch) SY Syria -SZ Swaziland +SZ Eswatini (Swaziland) TC Turks & Caicos Is TD Chad TF French Southern & Antarctic Lands Binary files python-tz-2018.9/pytz/zoneinfo/Israel and python-tz-2019.1/pytz/zoneinfo/Israel differ diff -urN python-tz-2018.9/pytz/zoneinfo/leapseconds python-tz-2019.1/pytz/zoneinfo/leapseconds --- python-tz-2018.9/pytz/zoneinfo/leapseconds 2019-01-07 07:54:28.000000000 +0000 +++ python-tz-2019.1/pytz/zoneinfo/leapseconds 2019-04-10 03:00:17.000000000 +0100 @@ -63,7 +63,7 @@ # POSIX timestamps for the data in this file: #updated 1467936000 -#expires 1561680000 +#expires 1577491200 -# Updated through IERS Bulletin C56 -# File expires on: 28 June 2019 +# Updated through IERS Bulletin C57 +# File expires on: 28 December 2019 diff -urN python-tz-2018.9/pytz/zoneinfo/tzdata.zi python-tz-2019.1/pytz/zoneinfo/tzdata.zi --- python-tz-2018.9/pytz/zoneinfo/tzdata.zi 2019-01-07 07:54:28.000000000 +0000 +++ python-tz-2019.1/pytz/zoneinfo/tzdata.zi 2019-04-10 03:00:17.000000000 +0100 @@ -707,6 +707,10 @@ R Z 1974 o - O 13 0 0 S R Z 1975 o - Ap 20 0 1 D R Z 1975 o - Au 31 0 0 S +R Z 1980 o - Au 2 0 1 D +R Z 1980 o - S 13 1 0 S +R Z 1984 o - May 5 0 1 D +R Z 1984 o - Au 25 1 0 S R Z 1985 o - Ap 14 0 1 D R Z 1985 o - S 15 0 0 S R Z 1986 o - May 18 0 1 D @@ -1003,7 +1007,7 @@ R P 2013 o - S F>=21 0 0 - R P 2014 2015 - O F>=21 0 0 - R P 2015 o - Mar lastF 24 1 S -R P 2016 ma - Mar Sat>=22 1 1 S +R P 2016 ma - Mar Sat>=24 1 1 S R P 2016 ma - O lastSat 1 0 - Z Asia/Gaza 2:17:52 - LMT 1900 O 2 Z EET/EEST 1948 May 15 @@ -2801,7 +2805,7 @@ -8 u P%sT 1983 O 30 2 -8 - PST 2015 N 1 2 -9 u AK%sT 2018 N 4 2 --8 - PST 2019 Mar Sun>=8 3 +-8 - PST 2019 Ja 20 2 -9 u AK%sT Z America/Yakutat 14:41:5 - LMT 1867 O 19 15:12:18 -9:18:55 - LMT 1900 Au 20 12 @@ -4168,7 +4172,6 @@ -4 - -04 Z Etc/GMT 0 - GMT Z Etc/UTC 0 - UTC -Z Etc/UCT 0 - UCT Li Etc/GMT GMT Li Etc/UTC Etc/Universal Li Etc/UTC Etc/Zulu @@ -4270,6 +4273,7 @@ Li America/Havana Cuba Li Africa/Cairo Egypt Li Europe/Dublin Eire +Li Etc/UTC Etc/UCT Li Europe/London Europe/Belfast Li Europe/Chisinau Europe/Tiraspol Li Europe/London GB @@ -4304,7 +4308,7 @@ Li Asia/Seoul ROK Li Asia/Singapore Singapore Li Europe/Istanbul Turkey -Li Etc/UCT UCT +Li Etc/UTC UCT Li America/Anchorage US/Alaska Li America/Adak US/Aleutian Li America/Phoenix US/Arizona Binary files python-tz-2018.9/pytz/zoneinfo/UCT and python-tz-2019.1/pytz/zoneinfo/UCT differ diff -urN python-tz-2018.9/pytz.egg-info/PKG-INFO python-tz-2019.1/pytz.egg-info/PKG-INFO --- python-tz-2018.9/pytz.egg-info/PKG-INFO 2019-01-07 07:54:29.000000000 +0000 +++ python-tz-2019.1/pytz.egg-info/PKG-INFO 2019-04-10 03:11:43.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: pytz -Version: 2018.9 +Version: 2019.1 Summary: World timezone definitions, modern and historical Home-page: http://pythonhosted.org/pytz Author: Stuart Bishop