This is an automated email from the ASF dual-hosted git repository. vincbeck pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push: new 25cd12d307 zoneinfo.ZoneInfo is not available on < Python 3.9 (#34804) 25cd12d307 is described below commit 25cd12d307be6359c844f4764b6f90e954bccb56 Author: Bolke de Bruin <bo...@xs4all.nl> AuthorDate: Fri Oct 6 19:31:02 2023 +0200 zoneinfo.ZoneInfo is not available on < Python 3.9 (#34804) --- airflow/serialization/serializers/timezone.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/airflow/serialization/serializers/timezone.py b/airflow/serialization/serializers/timezone.py index 5d3b940cd7..23901b9d44 100644 --- a/airflow/serialization/serializers/timezone.py +++ b/airflow/serialization/serializers/timezone.py @@ -18,6 +18,7 @@ from __future__ import annotations import datetime +import sys from typing import TYPE_CHECKING, Any, cast from airflow.utils.module_loading import qualname @@ -29,10 +30,15 @@ if TYPE_CHECKING: serializers = [ "pendulum.tz.timezone.FixedTimezone", "pendulum.tz.timezone.Timezone", - "zoneinfo.ZoneInfo", - "backports.zoneinfo.ZoneInfo", ] +PY39 = sys.version_info >= (3, 9) + +if PY39: + serializers.append("zoneinfo.ZoneInfo") +else: + serializers.append("backports.zoneinfo.ZoneInfo") + deserializers = serializers __version__ = 1 @@ -79,17 +85,11 @@ def deserialize(classname: str, version: int, data: object) -> Any: if isinstance(data, int): return fixed_timezone(data) - if classname == "zoneinfo.ZoneInfo": - from zoneinfo import ZoneInfo - - return ZoneInfo(data) - - if classname == "backports.zoneinfo.ZoneInfo": - # python version might have been upgraded, so we need to check + if "zoneinfo.ZoneInfo" in classname: try: - from backports.zoneinfo import ZoneInfo - except ImportError: from zoneinfo import ZoneInfo + except ImportError: + from backports.zoneinfo import ZoneInfo return ZoneInfo(data)