File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44from __future__ import print_function
55from __future__ import unicode_literals
66
7+ import typing
78from calendar import timegm
89from datetime import datetime
910from pytz import UTC , timezone
1011
12+ if typing .TYPE_CHECKING :
13+ from typing import Optional
14+
1115
1216utcfromtimestamp = datetime .utcfromtimestamp
1317utclocalize = 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
You can’t perform that action at this time.
0 commit comments