You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5 KiB
Python

from _typeshed import Incomplete
from collections.abc import Callable
from io import BytesIO
from tarfile import _Fileobj
from typing import Final, TypeVar, overload
from typing_extensions import Self, TypeAlias, deprecated
from dateutil.tz import tzfile as _tzfile
_T = TypeVar("_T")
_MetadataType: TypeAlias = dict[str, Incomplete]
__all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"]
ZONEFILENAME: Final[str]
METADATA_FN: Final[str]
class tzfile(_tzfile):
def __reduce__(self) -> tuple[Callable[[str], Self], tuple[str, ...]]: ...
def getzoneinfofile_stream() -> BytesIO | None: ...
class ZoneInfoFile:
zones: dict[str, _tzfile]
metadata: _MetadataType | None
def __init__(self, zonefile_stream: _Fileobj | None = None) -> None: ...
@overload
def get(self, name: str, default: None = None) -> _tzfile | None: ...
@overload
def get(self, name: str, default: _tzfile) -> _tzfile: ...
@overload
def get(self, name: str, default: _T) -> _tzfile | _T: ...
def get_zonefile_instance(new_instance: bool = False) -> ZoneInfoFile: ...
@deprecated(
"zoneinfo.gettz() will be removed in future versions, to use the dateutil-provided "
"zoneinfo files, instantiate a ZoneInfoFile object and use ZoneInfoFile.zones.get() instead."
)
def gettz(name: str) -> _tzfile: ...
@deprecated(
"zoneinfo.gettz_db_metadata() will be removed in future versions, to use the "
"dateutil-provided zoneinfo files, ZoneInfoFile object and query the 'metadata' attribute instead."
)
def gettz_db_metadata() -> _MetadataType: ...