From 3b541739298d1260b246838c637f8b7179975766 Mon Sep 17 00:00:00 2001
From: Maxwell G <maxwell@gtmx.me>
Date: Mon, 5 Feb 2024 18:04:15 +0000
Subject: [PATCH] Use zoneinfo instead of tzdata package to retrieve timezones
We want to use system timezone data, so we patch out the tzdata
dependency.
---
src/pendulum/tz/__init__.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/pendulum/tz/__init__.py b/src/pendulum/tz/__init__.py
index 36c2c69..65a2e01 100644
--- a/src/pendulum/tz/__init__.py
+++ b/src/pendulum/tz/__init__.py
@@ -1,7 +1,6 @@
from __future__ import annotations
-from pathlib import Path
-from typing import cast
+from zoneinfo import available_timezones
from pendulum.tz.local_timezone import get_local_timezone
from pendulum.tz.local_timezone import set_local_timezone
@@ -9,7 +8,6 @@ from pendulum.tz.local_timezone import test_local_timezone
from pendulum.tz.timezone import UTC
from pendulum.tz.timezone import FixedTimezone
from pendulum.tz.timezone import Timezone
-from pendulum.utils._compat import resources
PRE_TRANSITION = "pre"
@@ -25,8 +23,7 @@ def timezones() -> tuple[str, ...]:
global _timezones
if _timezones is None:
- with cast(Path, resources.files("tzdata").joinpath("zones")).open() as f:
- _timezones = tuple(tz.strip() for tz in f.readlines())
+ _timezones = tuple(available_timezones())
return _timezones
--
2.43.0