Files
cpython/Lib/zoneinfo/__init__.py
Serhiy Storchaka 6620ef0ff6 gh-137754: Fix import of zoneinfo if _datetime is not available (GH-137845)
Both modules should use the Python implementation in that case.
2025-08-23 12:12:13 +03:00

35 lines
917 B
Python

__all__ = [
"ZoneInfo",
"reset_tzpath",
"available_timezones",
"TZPATH",
"ZoneInfoNotFoundError",
"InvalidTZPathWarning",
]
from . import _tzpath
from ._common import ZoneInfoNotFoundError
try:
from _zoneinfo import ZoneInfo
except (ImportError, AttributeError): # pragma: nocover
# AttributeError: module 'datetime' has no attribute 'datetime_CAPI'.
# This happens when the '_datetime' module is not available and the
# pure Python implementation is used instead.
from ._zoneinfo import ZoneInfo
reset_tzpath = _tzpath.reset_tzpath
available_timezones = _tzpath.available_timezones
InvalidTZPathWarning = _tzpath.InvalidTZPathWarning
def __getattr__(name):
if name == "TZPATH":
return _tzpath.TZPATH
else:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
def __dir__():
return sorted(list(globals()) + ["TZPATH"])