From b91ebd3096662d57e0ea9f1318d8946d740ca78c Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Tue, 1 Nov 2022 07:08:41 +0300 Subject: [PATCH] Remove `pytz` from `pyright`s exclude (#9041) --- pyrightconfig.stricter.json | 3 --- stubs/pytz/pytz/lazy.pyi | 21 +++++++++-------- stubs/pytz/pytz/reference.pyi | 44 +++++++++++++++++++---------------- stubs/pytz/pytz/tzfile.pyi | 6 ++++- 4 files changed, 40 insertions(+), 34 deletions(-) diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index fc00d96c3..ca21a886d 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -54,9 +54,6 @@ "stubs/prettytable", "stubs/protobuf", "stubs/python-crontab", - "stubs/pytz/pytz/lazy.pyi", - "stubs/pytz/pytz/reference.pyi", - "stubs/pytz/pytz/tzfile.pyi", "stubs/google-cloud-ndb", "stubs/passlib", "stubs/peewee", diff --git a/stubs/pytz/pytz/lazy.pyi b/stubs/pytz/pytz/lazy.pyi index 77ba8b6b5..84a7d2e22 100644 --- a/stubs/pytz/pytz/lazy.pyi +++ b/stubs/pytz/pytz/lazy.pyi @@ -1,16 +1,17 @@ from _typeshed import Incomplete -from collections.abc import Mapping as DictMixin +from collections.abc import Iterator, Mapping as DictMixin -class LazyDict(DictMixin[Incomplete, Incomplete]): - data: Incomplete - def __getitem__(self, key): ... - def __contains__(self, key): ... - def __iter__(self): ... - def __len__(self): ... - def keys(self): ... +class LazyDict(DictMixin[str, Incomplete]): + data: dict[str, Incomplete] | None + def __getitem__(self, key: str) -> Incomplete: ... + def __contains__(self, key: object) -> bool: ... + def __iter__(self) -> Iterator[str]: ... + def __len__(self) -> int: ... class LazyList(list[Incomplete]): - def __new__(cls, fill_iter: Incomplete | None = ...): ... + # does not return `Self` type: + def __new__(cls, fill_iter: Incomplete | None = ...) -> LazyList: ... # noqa: Y034 class LazySet(set[Incomplete]): - def __new__(cls, fill_iter: Incomplete | None = ...): ... + # does not return `Self` type: + def __new__(cls, fill_iter: Incomplete | None = ...) -> LazySet: ... # noqa: Y034 diff --git a/stubs/pytz/pytz/reference.pyi b/stubs/pytz/pytz/reference.pyi index b3a5d4db0..cf9ceeebb 100644 --- a/stubs/pytz/pytz/reference.pyi +++ b/stubs/pytz/pytz/reference.pyi @@ -1,32 +1,36 @@ import datetime -from _typeshed import Incomplete -from datetime import tzinfo from pytz import UTC as UTC -class FixedOffset(tzinfo): - def __init__(self, offset, name) -> None: ... - def utcoffset(self, dt): ... - def tzname(self, dt): ... - def dst(self, dt): ... +class FixedOffset(datetime.tzinfo): + def __init__(self, offset: float, name: str) -> None: ... + def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta: ... + def tzname(self, dt: datetime.datetime | None) -> str: ... + def dst(self, dt: datetime.datetime | None) -> datetime.timedelta: ... STDOFFSET: datetime.timedelta DSTOFFSET: datetime.timedelta -class LocalTimezone(tzinfo): - def utcoffset(self, dt): ... - def dst(self, dt): ... - def tzname(self, dt): ... +class LocalTimezone(datetime.tzinfo): + def utcoffset(self, dt: datetime.datetime) -> datetime.timedelta: ... # type: ignore[override] + def dst(self, dt: datetime.datetime) -> datetime.timedelta: ... # type: ignore[override] + def tzname(self, dt: datetime.datetime) -> str: ... # type: ignore[override] -class USTimeZone(tzinfo): - stdoffset: Incomplete - reprname: Incomplete - stdname: Incomplete - dstname: Incomplete - def __init__(self, hours, reprname, stdname, dstname) -> None: ... - def tzname(self, dt): ... - def utcoffset(self, dt): ... - def dst(self, dt): ... +Local: LocalTimezone +DSTSTART: datetime.datetime +DSTEND: datetime.datetime + +def first_sunday_on_or_after(dt: datetime.datetime) -> datetime.datetime: ... + +class USTimeZone(datetime.tzinfo): + stdoffset: datetime.timedelta + reprname: str + stdname: str + dstname: str + def __init__(self, hours: float, reprname: str, stdname: str, dstname: str) -> None: ... + def tzname(self, dt: datetime.datetime | None) -> str: ... + def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta: ... + def dst(self, dt: datetime.datetime | None) -> datetime.timedelta: ... Eastern: USTimeZone Central: USTimeZone diff --git a/stubs/pytz/pytz/tzfile.pyi b/stubs/pytz/pytz/tzfile.pyi index 5539e590e..db28b7573 100644 --- a/stubs/pytz/pytz/tzfile.pyi +++ b/stubs/pytz/pytz/tzfile.pyi @@ -1 +1,5 @@ -def build_tzinfo(zone, fp): ... +from typing import IO + +from pytz.tzinfo import DstTzInfo + +def build_tzinfo(zone: str, fp: IO[bytes]) -> DstTzInfo: ...