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.
136 lines
4.5 KiB
Python
136 lines
4.5 KiB
Python
import sys
|
|
from datetime import datetime, timedelta, tzinfo
|
|
from typing import ClassVar, Literal, Protocol, TypeVar, type_check_only
|
|
|
|
from ..relativedelta import relativedelta
|
|
from ._common import _tzinfo, enfold as enfold, tzrangebase
|
|
|
|
if sys.platform == "win32":
|
|
from .win import tzwin as tzwin, tzwinlocal as tzwinlocal
|
|
else:
|
|
tzwin: None
|
|
tzwinlocal: None
|
|
|
|
_DT = TypeVar("_DT", bound=datetime)
|
|
|
|
ZERO: timedelta
|
|
EPOCH: datetime
|
|
EPOCHORDINAL: int
|
|
|
|
class tzutc(tzinfo):
|
|
def utcoffset(self, dt: datetime | None) -> timedelta | None: ...
|
|
def dst(self, dt: datetime | None) -> timedelta | None: ...
|
|
def tzname(self, dt: datetime | None) -> str: ...
|
|
def is_ambiguous(self, dt: datetime | None) -> bool: ...
|
|
def fromutc(self, dt: _DT) -> _DT: ...
|
|
def __eq__(self, other): ...
|
|
__hash__: ClassVar[None] # type: ignore[assignment]
|
|
def __ne__(self, other): ...
|
|
__reduce__ = object.__reduce__
|
|
|
|
UTC: tzutc
|
|
|
|
class tzoffset(tzinfo):
|
|
def __init__(self, name, offset) -> None: ...
|
|
def utcoffset(self, dt: datetime | None) -> timedelta | None: ...
|
|
def dst(self, dt: datetime | None) -> timedelta | None: ...
|
|
def is_ambiguous(self, dt: datetime | None) -> bool: ...
|
|
def tzname(self, dt: datetime | None) -> str: ...
|
|
def fromutc(self, dt: _DT) -> _DT: ...
|
|
def __eq__(self, other): ...
|
|
__hash__: ClassVar[None] # type: ignore[assignment]
|
|
def __ne__(self, other): ...
|
|
__reduce__ = object.__reduce__
|
|
@classmethod
|
|
def instance(cls, name, offset) -> tzoffset: ...
|
|
|
|
class tzlocal(_tzinfo):
|
|
def __init__(self) -> None: ...
|
|
def utcoffset(self, dt: datetime | None) -> timedelta | None: ...
|
|
def dst(self, dt: datetime | None) -> timedelta | None: ...
|
|
def tzname(self, dt: datetime | None) -> str: ...
|
|
def is_ambiguous(self, dt: datetime | None) -> bool: ...
|
|
def __eq__(self, other): ...
|
|
__hash__: ClassVar[None] # type: ignore[assignment]
|
|
def __ne__(self, other): ...
|
|
__reduce__ = object.__reduce__
|
|
|
|
class _ttinfo:
|
|
__slots__ = ["offset", "delta", "isdst", "abbr", "isstd", "isgmt", "dstoffset"]
|
|
offset: float
|
|
delta: timedelta
|
|
isdst: bool
|
|
abbr: str
|
|
isstd: bool
|
|
isgmt: bool
|
|
dstoffset: timedelta
|
|
def __init__(self) -> None: ...
|
|
def __eq__(self, other): ...
|
|
__hash__: ClassVar[None] # type: ignore[assignment]
|
|
def __ne__(self, other): ...
|
|
|
|
@type_check_only
|
|
class _TZFileReader(Protocol):
|
|
# optional attribute:
|
|
# name: str
|
|
def read(self, size: int, /) -> bytes: ...
|
|
def seek(self, target: int, whence: Literal[1], /) -> object: ...
|
|
|
|
class tzfile(_tzinfo):
|
|
def __init__(self, fileobj: str | _TZFileReader, filename: str | None = None) -> None: ...
|
|
def is_ambiguous(self, dt: datetime | None, idx: int | None = None) -> bool: ...
|
|
def utcoffset(self, dt: datetime | None) -> timedelta | None: ...
|
|
def dst(self, dt: datetime | None) -> timedelta | None: ...
|
|
def tzname(self, dt: datetime | None) -> str: ...
|
|
def __eq__(self, other): ...
|
|
__hash__: ClassVar[None] # type: ignore[assignment]
|
|
def __ne__(self, other): ...
|
|
def __reduce__(self): ...
|
|
def __reduce_ex__(self, protocol): ...
|
|
|
|
class tzrange(tzrangebase):
|
|
hasdst: bool
|
|
def __init__(
|
|
self,
|
|
stdabbr: str,
|
|
stdoffset: int | timedelta | None = None,
|
|
dstabbr: str | None = None,
|
|
dstoffset: int | timedelta | None = None,
|
|
start: relativedelta | None = None,
|
|
end: relativedelta | None = None,
|
|
) -> None: ...
|
|
def transitions(self, year: int) -> tuple[datetime, datetime]: ...
|
|
def __eq__(self, other): ...
|
|
|
|
class tzstr(tzrange):
|
|
hasdst: bool
|
|
def __init__(self, s: str, posix_offset: bool = False) -> None: ...
|
|
@classmethod
|
|
def instance(cls, name, offset) -> tzoffset: ...
|
|
|
|
@type_check_only
|
|
class _ICalReader(Protocol):
|
|
# optional attribute:
|
|
# name: str
|
|
def read(self) -> str: ...
|
|
|
|
class tzical:
|
|
def __init__(self, fileobj: str | _ICalReader) -> None: ...
|
|
def keys(self): ...
|
|
def get(self, tzid=None): ...
|
|
|
|
TZFILES: list[str]
|
|
TZPATHS: list[str]
|
|
|
|
def datetime_exists(dt: datetime, tz: tzinfo | None = None) -> bool: ...
|
|
def datetime_ambiguous(dt: datetime, tz: tzinfo | None = None) -> bool: ...
|
|
def resolve_imaginary(dt: datetime) -> datetime: ...
|
|
|
|
# Singleton type defined locally in a function. Calls itself "GettzFunc".
|
|
@type_check_only
|
|
class _GetTZ:
|
|
def __call__(self, name: str | None = ...) -> tzinfo | None: ...
|
|
def nocache(self, name: str | None) -> tzinfo | None: ...
|
|
|
|
gettz: _GetTZ
|