##// END OF EJS Templates
Update IPython/utils/tz.py
Matthias Bussonnier -
Show More
@@ -1,84 +1,82
1 1 # encoding: utf-8
2 2 """
3 3 Timezone utilities
4 4
5 5 Just UTC-awareness right now
6 6
7 7 Deprecated since IPython 8.19.0.
8 8 """
9 9
10 10 # -----------------------------------------------------------------------------
11 11 # Copyright (C) 2013 The IPython Development Team
12 12 #
13 13 # Distributed under the terms of the BSD License. The full license is in
14 14 # the file COPYING, distributed as part of this software.
15 15 # -----------------------------------------------------------------------------
16 16
17 17 # -----------------------------------------------------------------------------
18 18 # Imports
19 19 # -----------------------------------------------------------------------------
20 20
21 21 import warnings
22 22 from datetime import tzinfo, timedelta, datetime
23 23
24 24 # -----------------------------------------------------------------------------
25 25 # Code
26 26 # -----------------------------------------------------------------------------
27 27 __all__ = ["tzUTC", "utc_aware", "utcfromtimestamp", "utcnow"]
28 28
29 # Enable display of DeprecrationWarning for this module explicitly.
30 warnings.filterwarnings("default", category=DeprecationWarning, module=__name__)
31 29
32 30 # constant for zero offset
33 31 ZERO = timedelta(0)
34 32
35 33
36 34 def __getattr__(name):
37 35 if name not in __all__:
38 36 err = f"IPython.utils.tz is deprecated and has no attribute {name}"
39 37 raise AttributeError(err)
40 38
41 39 _warn_deprecated()
42 40
43 41 return getattr(name)
44 42
45 43
46 44 def _warn_deprecated():
47 45 msg = "The module `IPython.utils.tz` is deprecated and will be completely removed."
48 46 warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
49 47
50 48
51 49 class tzUTC(tzinfo):
52 50 """tzinfo object for UTC (zero offset)
53 51
54 52 Deprecated since IPython 8.19.0.
55 53 """
56 54
57 55 _warn_deprecated()
58 56
59 57 def utcoffset(self, d):
60 58 return ZERO
61 59
62 60 def dst(self, d):
63 61 return ZERO
64 62
65 63
66 64 UTC = tzUTC() # type: ignore[abstract]
67 65
68 66
69 67 def utc_aware(unaware):
70 68 """decorator for adding UTC tzinfo to datetime's utcfoo methods
71 69
72 70 Deprecated since IPython 8.19.0.
73 71 """
74 72
75 73 def utc_method(*args, **kwargs):
76 74 _warn_deprecated()
77 75 dt = unaware(*args, **kwargs)
78 76 return dt.replace(tzinfo=UTC)
79 77
80 78 return utc_method
81 79
82 80
83 81 utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
84 82 utcnow = utc_aware(datetime.utcnow)
General Comments 0
You need to be logged in to leave comments. Login now