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.
		
		
		
		
		
			
		
			
				
	
	
		
			137 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			137 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
import re
 | 
						|
from _typeshed import Incomplete, SupportsRead
 | 
						|
from collections.abc import Callable, Mapping
 | 
						|
from datetime import _TzInfo, datetime
 | 
						|
from io import StringIO
 | 
						|
from typing import IO, Any
 | 
						|
from typing_extensions import Self, TypeAlias
 | 
						|
 | 
						|
_FileOrStr: TypeAlias = bytes | str | IO[str] | IO[Any]
 | 
						|
_TzData: TypeAlias = _TzInfo | int | str | None
 | 
						|
_TzInfos: TypeAlias = Mapping[str, _TzData] | Callable[[str, int], _TzData]
 | 
						|
 | 
						|
__all__ = ["parse", "parserinfo", "ParserError"]
 | 
						|
 | 
						|
class _timelex:
 | 
						|
    _split_decimal: re.Pattern[str]
 | 
						|
    instream: StringIO | SupportsRead[str]
 | 
						|
    charstack: list[str]
 | 
						|
    tokenstack: list[str]
 | 
						|
    eof: bool
 | 
						|
    def __init__(self, instream: str | bytes | bytearray | SupportsRead[str]) -> None: ...
 | 
						|
    def get_token(self) -> str | None: ...
 | 
						|
    def __iter__(self) -> Self: ...
 | 
						|
    def __next__(self) -> str: ...
 | 
						|
    def next(self) -> str: ...
 | 
						|
    @classmethod
 | 
						|
    def split(cls, s: str) -> list[str]: ...
 | 
						|
    @classmethod
 | 
						|
    def isword(cls, nextchar: str) -> bool: ...
 | 
						|
    @classmethod
 | 
						|
    def isnum(cls, nextchar: str) -> bool: ...
 | 
						|
    @classmethod
 | 
						|
    def isspace(cls, nextchar: str) -> bool: ...
 | 
						|
 | 
						|
class _resultbase:
 | 
						|
    def __init__(self) -> None: ...
 | 
						|
    def _repr(self, classname: str) -> str: ...
 | 
						|
    def __len__(self) -> int: ...
 | 
						|
 | 
						|
class parserinfo:
 | 
						|
    JUMP: list[str]
 | 
						|
    WEEKDAYS: list[tuple[str, str]]
 | 
						|
    MONTHS: list[tuple[str, str] | tuple[str, str, str]]
 | 
						|
    HMS: list[tuple[str, str, str]]
 | 
						|
    AMPM: list[tuple[str, str]]
 | 
						|
    UTCZONE: list[str]
 | 
						|
    PERTAIN: list[str]
 | 
						|
    TZOFFSET: dict[str, int]
 | 
						|
    def __init__(self, dayfirst: bool = False, yearfirst: bool = False) -> None: ...
 | 
						|
    def jump(self, name: str) -> bool: ...
 | 
						|
    def weekday(self, name: str) -> int | None: ...
 | 
						|
    def month(self, name: str) -> int | None: ...
 | 
						|
    def hms(self, name: str) -> int | None: ...
 | 
						|
    def ampm(self, name: str) -> int | None: ...
 | 
						|
    def pertain(self, name: str) -> bool: ...
 | 
						|
    def utczone(self, name: str) -> bool: ...
 | 
						|
    def tzoffset(self, name: str) -> int | None: ...
 | 
						|
    def convertyear(self, year: int, century_specified: bool = False) -> int: ...
 | 
						|
    def validate(self, res: datetime) -> bool: ...
 | 
						|
 | 
						|
class _ymd(list[Incomplete]):
 | 
						|
    century_specified: bool
 | 
						|
    dstridx: int | None
 | 
						|
    mstridx: int | None
 | 
						|
    ystridx: int | None
 | 
						|
    def __init__(self, *args, **kwargs) -> None: ...
 | 
						|
    @property
 | 
						|
    def has_year(self) -> bool: ...
 | 
						|
    @property
 | 
						|
    def has_month(self) -> bool: ...
 | 
						|
    @property
 | 
						|
    def has_day(self) -> bool: ...
 | 
						|
    def could_be_day(self, value): ...
 | 
						|
    def append(self, val, label=None): ...
 | 
						|
    def _resolve_from_stridxs(self, strids): ...
 | 
						|
    def resolve_ymd(self, yearfirst: bool | None, dayfirst: bool | None): ...
 | 
						|
 | 
						|
class parser:
 | 
						|
    info: parserinfo
 | 
						|
    def __init__(self, info: parserinfo | None = None) -> None: ...
 | 
						|
    def parse(
 | 
						|
        self,
 | 
						|
        timestr: _FileOrStr,
 | 
						|
        default: datetime | None = None,
 | 
						|
        ignoretz: bool = False,
 | 
						|
        tzinfos: _TzInfos | None = None,
 | 
						|
        *,
 | 
						|
        dayfirst: bool | None = ...,
 | 
						|
        yearfirst: bool | None = ...,
 | 
						|
        fuzzy: bool = ...,
 | 
						|
        fuzzy_with_tokens: bool = ...,
 | 
						|
    ) -> datetime: ...
 | 
						|
 | 
						|
DEFAULTPARSER: parser
 | 
						|
 | 
						|
def parse(
 | 
						|
    timestr: _FileOrStr,
 | 
						|
    parserinfo: parserinfo | None = None,
 | 
						|
    *,
 | 
						|
    dayfirst: bool | None = ...,
 | 
						|
    yearfirst: bool | None = ...,
 | 
						|
    ignoretz: bool = ...,
 | 
						|
    fuzzy: bool = ...,
 | 
						|
    fuzzy_with_tokens: bool = ...,
 | 
						|
    default: datetime | None = ...,
 | 
						|
    tzinfos: _TzInfos | None = ...,
 | 
						|
) -> datetime: ...
 | 
						|
 | 
						|
class _tzparser:
 | 
						|
    class _result(_resultbase):
 | 
						|
        __slots__ = ["stdabbr", "stdoffset", "dstabbr", "dstoffset", "start", "end"]
 | 
						|
        stdabbr: str | None
 | 
						|
        stdoffset: int | None
 | 
						|
        dstabbr: str | None
 | 
						|
        dstoffset: int | None
 | 
						|
        start: _attr
 | 
						|
        end: _attr
 | 
						|
 | 
						|
        class _attr(_resultbase):
 | 
						|
            __slots__ = ["month", "week", "weekday", "yday", "jyday", "day", "time"]
 | 
						|
            month: int | None
 | 
						|
            week: int | None
 | 
						|
            weekday: int | None
 | 
						|
            yday: int | None
 | 
						|
            jyday: int | None
 | 
						|
            day: int | None
 | 
						|
            time: int | None
 | 
						|
 | 
						|
        def __init__(self): ...
 | 
						|
 | 
						|
    def parse(self, tzstr: str | re.Pattern[str]) -> _result | None: ...
 | 
						|
 | 
						|
DEFAULTTZPARSER: _tzparser
 | 
						|
 | 
						|
class ParserError(ValueError): ...
 | 
						|
class UnknownTimezoneWarning(RuntimeWarning): ...
 |