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
 |