pytz: utcoffset only returns None if dt is None (#7510)

This commit is contained in:
Jelle Zijlstra
2022-03-19 01:19:09 -07:00
committed by GitHub
parent 5c44ae4f8c
commit d9f1f7b81f

View File

@@ -1,6 +1,6 @@
import datetime
from abc import abstractmethod
from typing import Any
from typing import Any, overload
class BaseTzInfo(datetime.tzinfo):
zone: str | None # Actually None but should be set on concrete subclasses
@@ -31,5 +31,9 @@ class DstTzInfo(BaseTzInfo):
def localize(self, dt: datetime.datetime, is_dst: bool | None = ...) -> datetime.datetime: ...
def normalize(self, dt: datetime.datetime) -> datetime.datetime: ...
def tzname(self, dt: datetime.datetime | None, is_dst: bool | None = ...) -> str: ...
def utcoffset(self, dt: datetime.datetime | None, is_dst: bool | None = ...) -> datetime.timedelta | None: ...
# https://github.com/python/mypy/issues/12379
@overload # type: ignore[override]
def utcoffset(self, dt: None, is_dst: bool | None = ...) -> None: ...
@overload
def utcoffset(self, dt: datetime.datetime, is_dst: bool | None = ...) -> datetime.timedelta: ...
def dst(self, dt: datetime.datetime | None, is_dst: bool | None = ...) -> datetime.timedelta | None: ...