12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # encoding: utf-8
- """
- Timezone utilities
- Just UTC-awareness right now
- Deprecated since IPython 8.19.0.
- """
- # -----------------------------------------------------------------------------
- # Copyright (C) 2013 The IPython Development Team
- #
- # Distributed under the terms of the BSD License. The full license is in
- # the file COPYING, distributed as part of this software.
- # -----------------------------------------------------------------------------
- # -----------------------------------------------------------------------------
- # Imports
- # -----------------------------------------------------------------------------
- import warnings
- from datetime import tzinfo, timedelta, datetime
- # -----------------------------------------------------------------------------
- # Code
- # -----------------------------------------------------------------------------
- __all__ = ["tzUTC", "utc_aware", "utcfromtimestamp", "utcnow"]
- # constant for zero offset
- ZERO = timedelta(0)
- def __getattr__(name):
- if name not in __all__:
- err = f"IPython.utils.tz is deprecated and has no attribute {name}"
- raise AttributeError(err)
- _warn_deprecated()
- return getattr(name)
- def _warn_deprecated():
- msg = "The module `IPython.utils.tz` is deprecated and will be completely removed."
- warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
- class tzUTC(tzinfo):
- """tzinfo object for UTC (zero offset)
- Deprecated since IPython 8.19.0.
- """
- _warn_deprecated()
- def utcoffset(self, d):
- return ZERO
- def dst(self, d):
- return ZERO
- UTC = tzUTC() # type: ignore[abstract]
- def utc_aware(unaware):
- """decorator for adding UTC tzinfo to datetime's utcfoo methods
- Deprecated since IPython 8.19.0.
- """
- def utc_method(*args, **kwargs):
- _warn_deprecated()
- dt = unaware(*args, **kwargs)
- return dt.replace(tzinfo=UTC)
- return utc_method
- utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
- utcnow = utc_aware(datetime.utcnow)
|