From 52594f584b7ca0ad649d618e3d54150b8c68b86c Mon Sep 17 00:00:00 2001 From: Kai Knoblich Date: Fri, 19 Aug 2022 07:04:56 +0200 Subject: [PATCH] www/py-dj40-django-timezone-field: Fix regression with newer pytz * Backport a PR which fixes the "ZoneInfoNotFoundError" exception whe populating and comparing timezones against pytz which don't yet exist in zoneinfo. MFH: 2022Q3 (cherry picked from commit 66b2b44abd3491418e2ca1efc64796375745cfc8) --- www/py-dj40-django-timezone-field/Makefile | 1 + .../files/patch-timezone__field_fields.py | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 www/py-dj40-django-timezone-field/files/patch-timezone__field_fields.py diff --git a/www/py-dj40-django-timezone-field/Makefile b/www/py-dj40-django-timezone-field/Makefile index e95f9ad5da48..68ffb0453cae 100644 --- a/www/py-dj40-django-timezone-field/Makefile +++ b/www/py-dj40-django-timezone-field/Makefile @@ -1,5 +1,6 @@ PORTNAME= django-timezone-field DISTVERSION= 5.0 +PORTREVISION= 1 CATEGORIES= www python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj40- diff --git a/www/py-dj40-django-timezone-field/files/patch-timezone__field_fields.py b/www/py-dj40-django-timezone-field/files/patch-timezone__field_fields.py new file mode 100644 index 000000000000..72b10b78da49 --- /dev/null +++ b/www/py-dj40-django-timezone-field/files/patch-timezone__field_fields.py @@ -0,0 +1,27 @@ +From 0257f2e9c7c488e8a859ee924c93d9f38afa4dc7 Mon Sep 17 00:00:00 2001 +From: jeremystretch +Date: Fri, 12 Aug 2022 10:03:27 -0400 +Subject: [PATCH] Fixes #94: Catch ZoneInfoNotFoundError exception when + populating timezones + +Obtained from: + +https://github.com/mfogel/django-timezone-field/commit/0257f2e9c7c488e8a859ee924c93d9f38afa4dc7 + +--- timezone_field/fields.py.orig 2022-02-09 04:42:10 UTC ++++ timezone_field/fields.py +@@ -38,7 +38,13 @@ class TimeZoneField(models.Field): + # existing migration files will need to be accomodated. + default_max_length = 63 + default_pytz_tzs = [pytz.timezone(tz) for tz in pytz.common_timezones] +- default_zoneinfo_tzs = [ZoneInfo(tz) for tz in pytz.common_timezones] ++ default_zoneinfo_tzs = [] ++ for tz in pytz.common_timezones: ++ try: ++ default_zoneinfo_tzs.append(ZoneInfo(tz)) ++ except ZoneInfoNotFoundError: ++ # ZoneInfo does not yet exist for this timezone ++ pass + + def __init__(self, *args, **kwargs): + # allow some use of positional args up until the args we customize