Skip to content

Commit 2c10c7c

Browse files
committed
Add overloaded annotations of epoch_to_datetime to fs.time
1 parent fe57c41 commit 2c10c7c

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

fs/time.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@
44
from __future__ import print_function
55
from __future__ import unicode_literals
66

7+
import typing
78
from calendar import timegm
89
from datetime import datetime
910
from pytz import UTC, timezone
1011

12+
if typing.TYPE_CHECKING:
13+
from typing import Optional
14+
1115

1216
utcfromtimestamp = datetime.utcfromtimestamp
1317
utclocalize = UTC.localize
@@ -20,7 +24,19 @@ def datetime_to_epoch(d):
2024
return timegm(d.utctimetuple())
2125

2226

23-
def epoch_to_datetime(t):
27+
@typing.overload
28+
def epoch_to_datetime(t): # noqa: D103
29+
# type: (None) -> None
30+
pass
31+
32+
33+
@typing.overload
34+
def epoch_to_datetime(t): # noqa: D103
2435
# type: (int) -> datetime
36+
pass
37+
38+
39+
def epoch_to_datetime(t):
40+
# type: (Optional[int]) -> Optional[datetime]
2541
"""Convert epoch time to a UTC datetime."""
2642
return utclocalize(utcfromtimestamp(t)) if t is not None else None

0 commit comments

Comments
 (0)