This commit is contained in:
2025-09-07 22:09:54 +02:00
parent e1b817252c
commit 2fc0d000b6
7796 changed files with 2159515 additions and 933 deletions

View File

@ -0,0 +1,43 @@
import datetime
from abc import abstractmethod
from typing import Any, overload
class BaseTzInfo(datetime.tzinfo):
_utcoffset: datetime.timedelta | None
_tzname: str | None
zone: str | None # Actually None but should be set on concrete subclasses
# The following abstract methods don't exist in the implementation, but
# are implemented by all sub-classes.
@abstractmethod
def localize(self, dt: datetime.datetime, is_dst: bool | None = ...) -> datetime.datetime: ...
@abstractmethod
def normalize(self, dt: datetime.datetime) -> datetime.datetime: ...
@abstractmethod
def tzname(self, dt: datetime.datetime | None, /) -> str: ...
@abstractmethod
def utcoffset(self, dt: datetime.datetime | None, /) -> datetime.timedelta | None: ...
@abstractmethod
def dst(self, dt: datetime.datetime | None, /) -> datetime.timedelta | None: ...
class StaticTzInfo(BaseTzInfo):
def fromutc(self, dt: datetime.datetime) -> datetime.datetime: ...
def localize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
def normalize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
def tzname(self, dt: datetime.datetime | None, is_dst: bool | None = None) -> str: ...
def utcoffset(self, dt: datetime.datetime | None, is_dst: bool | None = None) -> datetime.timedelta: ...
def dst(self, dt: datetime.datetime | None, is_dst: bool | None = None) -> datetime.timedelta: ...
class DstTzInfo(BaseTzInfo):
def __init__(self, _inf: Any = None, _tzinfos: Any = None) -> None: ...
def fromutc(self, dt: datetime.datetime) -> datetime.datetime: ...
def localize(self, dt: datetime.datetime, is_dst: bool | None = False) -> datetime.datetime: ...
def normalize(self, dt: datetime.datetime) -> datetime.datetime: ...
def tzname(self, dt: datetime.datetime | None, is_dst: bool | None = None) -> str: ...
# https://github.com/python/mypy/issues/12379
@overload # type: ignore[override]
def utcoffset(self, dt: None, is_dst: bool | None = None) -> None: ...
@overload
def utcoffset(self, dt: datetime.datetime, is_dst: bool | None = None) -> datetime.timedelta: ...
def dst(self, dt: datetime.datetime | None, is_dst: bool | None = None) -> datetime.timedelta | None: ...
__all__: list[str] = []