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
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: ...
|