Spaces:
Running
Running
# 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) | |