a
&i2 @ s d dl mZ d dlmZ d dlmZmZmZ ed ZddgZdd Z e
edrZdd dZnG d
d deZdddZd
d Z
G dd deZG dd deZdS ) )PY2wraps)datetime timedeltatzinfotzname_in_python2enfoldc s$ t rt fdd}|S S dS )zChange unicode output into bytestrings in Python 2
tzname() API changed in Python 3. It used to return bytes, but was changed
to unicode strings
c s" | i |}|d ur| }|S N)encode)argskwargsnamenamefunc 7/usr/lib/python3.9/site-packages/dateutil/tz/_common.pyadjust_encoding s z*tzname_in_python2..adjust_encodingN)r r )r r r r r r
s
fold c C s | j |dS )
Provides a unified interface for assigning the ``fold`` attribute to
datetimes both before and after the implementation of PEP-495.
:param fold:
The value for the ``fold`` attribute in the returned datetime. This
should be either 0 or 1.
:return:
Returns an object for which ``getattr(dt, 'fold', 0)`` returns
``fold`` for all versions of Python. In versions prior to
Python 3.6, this is a ``_DatetimeWithFold`` object, which is a
subclass of :py:class:`datetime.datetime` with the ``fold``
attribute added, if ``fold`` is 1.
.. versionadded:: 2.6.0
r replace)dtr r r r r % s c @ s( e Zd ZdZdZdd Zedd ZdS )_DatetimeWithFoldz
This is a class designed to provide a PEP 495-compliant interface for
Python versions before 3.6. It is used only for dates in a fold, so
the ``fold`` attribute is fixed at ``1``.
.. versionadded:: 2.6.0
r c O sz d}t ||D ]&\}}||v r,td||||<