diff --git a/third_party/2and3/dateutil/_common.pyi b/third_party/2and3/dateutil/_common.pyi index 19504613c..1311a175e 100644 --- a/third_party/2and3/dateutil/_common.pyi +++ b/third_party/2and3/dateutil/_common.pyi @@ -9,5 +9,7 @@ class weekday(object): def __repr__(self) -> str: ... + def __hash__(self) -> int: ... + weekday: int n: int diff --git a/third_party/2and3/dateutil/parser.pyi b/third_party/2and3/dateutil/parser.pyi index 25949d834..045a7934d 100644 --- a/third_party/2and3/dateutil/parser.pyi +++ b/third_party/2and3/dateutil/parser.pyi @@ -33,6 +33,8 @@ class parser(object): ignoretz: bool = ..., tzinfos: Optional[Mapping[Text, tzinfo]] = ..., **kwargs: Any) -> datetime: ... +def isoparse(dt_str: Union[str, bytes, IO[str], IO[bytes]]) -> datetime: ... + DEFAULTPARSER: parser def parse(timestr: _FileOrStr, parserinfo: Optional[parserinfo] = ..., **kwargs: Any) -> datetime: ... class _tzparser: ... diff --git a/third_party/2and3/dateutil/relativedelta.pyi b/third_party/2and3/dateutil/relativedelta.pyi index 7b33513c0..40ee586ff 100644 --- a/third_party/2and3/dateutil/relativedelta.pyi +++ b/third_party/2and3/dateutil/relativedelta.pyi @@ -87,3 +87,5 @@ class relativedelta(object): def __div__(self: _SelfT, other: SupportsFloat) -> _SelfT: ... def __truediv__(self: _SelfT, other: SupportsFloat) -> _SelfT: ... def __repr__(self) -> str: ... + def __abs__(self: _SelfT) -> _SelfT: ... + def __hash__(self) -> int: ... diff --git a/third_party/2and3/dateutil/tz/__init__.pyi b/third_party/2and3/dateutil/tz/__init__.pyi index 1ef0c4270..5a5e45feb 100644 --- a/third_party/2and3/dateutil/tz/__init__.pyi +++ b/third_party/2and3/dateutil/tz/__init__.pyi @@ -9,6 +9,7 @@ from .tz import ( gettz as gettz, datetime_exists as datetime_exists, datetime_ambiguous as datetime_ambiguous, + resolve_imaginary as resolve_imaginary, ) UTC: tzutc diff --git a/third_party/2and3/dateutil/tz/tz.pyi b/third_party/2and3/dateutil/tz/tz.pyi index 23ea63d17..71395070f 100644 --- a/third_party/2and3/dateutil/tz/tz.pyi +++ b/third_party/2and3/dateutil/tz/tz.pyi @@ -31,6 +31,9 @@ class tzoffset(datetime.tzinfo): def __ne__(self, other): ... __reduce__: Any + @classmethod + def instance(cls, name, offset) -> tzoffset: ... + class tzlocal(_tzinfo): def __init__(self) -> None: ... def utcoffset(self, dt: Optional[datetime.datetime]) -> Optional[datetime.timedelta]: ... @@ -70,6 +73,9 @@ class tzstr(tzrange): hasdst: bool def __init__(self, s: Union[bytes, _FileObj], posix_offset: bool = ...) -> None: ... + @classmethod + def instance(cls, name, offset) -> tzoffset: ... + class tzical: def __init__(self, fileobj: _FileObj) -> None: ... def keys(self): ... @@ -78,6 +84,13 @@ class tzical: TZFILES: List[str] TZPATHS: List[str] -def gettz(name: Optional[Text] = ...) -> Optional[datetime.tzinfo]: ... def datetime_exists(dt: datetime.datetime, tz: Optional[datetime.tzinfo] = ...) -> bool: ... def datetime_ambiguous(dt: datetime.datetime, tz: Optional[datetime.tzinfo] = ...) -> bool: ... +def resolve_imaginary(dt: datetime.datetime) -> datetime.datetime: ... + + +class _GetTZ: + def __call__(self, name: Optional[Text] = ...) -> Optional[datetime.tzinfo]: ... + def nocache(self, name: Optional[Text]) -> Optional[datetime.tzinfo]: ... + +gettz: _GetTZ diff --git a/third_party/2and3/dateutil/utils.pyi b/third_party/2and3/dateutil/utils.pyi new file mode 100644 index 000000000..b722053e4 --- /dev/null +++ b/third_party/2and3/dateutil/utils.pyi @@ -0,0 +1,7 @@ +from typing import Optional +from datetime import datetime, tzinfo, timedelta + + +def default_tzinfo(dt: datetime, tzinfo: tzinfo) -> datetime: ... +def today(tzinfo: Optional[tzinfo] = ...) -> datetime: ... +def within_delta(dt1: datetime, dt2: datetime, delta: timedelta) -> bool: ...