From cfa90c89d1bcea24cd5d95530317a609b5cbdb0e Mon Sep 17 00:00:00 2001 From: jo Date: Wed, 7 Dec 2022 14:39:23 +0100 Subject: [PATCH] refactor: improve backports imports --- playout/libretime_playout/recorder.py | 7 ++++--- shared/libretime_shared/config/_models.py | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/playout/libretime_playout/recorder.py b/playout/libretime_playout/recorder.py index 9b527076b..890d0e816 100644 --- a/playout/libretime_playout/recorder.py +++ b/playout/libretime_playout/recorder.py @@ -4,6 +4,7 @@ import math import os import re import signal +import sys import time from datetime import timezone from subprocess import PIPE, Popen @@ -15,10 +16,10 @@ from loguru import logger from libretime_playout.config import PUSH_INTERVAL, RECORD_DIR, Config -try: - from zoneinfo import ZoneInfo -except ImportError: +if sys.version_info < (3, 9): from backports.zoneinfo import ZoneInfo +else: + from zoneinfo import ZoneInfo # TODO : add docstrings everywhere in this module diff --git a/shared/libretime_shared/config/_models.py b/shared/libretime_shared/config/_models.py index 08f96fee0..26d3a364c 100644 --- a/shared/libretime_shared/config/_models.py +++ b/shared/libretime_shared/config/_models.py @@ -1,3 +1,4 @@ +import sys from enum import Enum from typing import TYPE_CHECKING, Any, List, Optional, Sequence, Union @@ -5,10 +6,11 @@ from typing import TYPE_CHECKING, Any, List, Optional, Sequence, Union from pydantic import AnyHttpUrl, AnyUrl, BaseModel, Field, validator from typing_extensions import Annotated, Literal -try: +if sys.version_info < (3, 9): + from backports.zoneinfo import ZoneInfo, ZoneInfoNotFoundError +else: from zoneinfo import ZoneInfo, ZoneInfoNotFoundError -except ImportError: - from backports.zoneinfo import ZoneInfo, ZoneInfoNotFoundError # type: ignore + if TYPE_CHECKING: from pydantic.typing import AnyClassMethod