git: 66b2b44abd34 - main - www/py-dj40-django-timezone-field: Fix regression with newer pytz

From: Kai Knoblich <kai_at_FreeBSD.org>
Date: Fri, 19 Aug 2022 05:15:27 UTC
The branch main has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=66b2b44abd3491418e2ca1efc64796375745cfc8

commit 66b2b44abd3491418e2ca1efc64796375745cfc8
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2022-08-19 05:04:56 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2022-08-19 05:04:56 +0000

    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
---
 www/py-dj40-django-timezone-field/Makefile         |  1 +
 .../files/patch-timezone__field_fields.py          | 27 ++++++++++++++++++++++
 2 files changed, 28 insertions(+)

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 <jstretch@ns1.com>
+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