o
    'hQ                     @  sp   U d Z ddlmZ ddlmZmZmZ ddlmZmZm	Z	 edZ
ded< G dd deZedd	Zded
< dS )z$Timezone related utilities for BSON.    )annotations)datetime	timedeltatzinfo)OptionalTupleUnionr   ZEROc                   @  sL   e Zd ZdZddd	ZdddZdddZdddZdddZdddZ	dS )FixedOffsetzFixed offset timezone, in minutes east from UTC.

    Implementation based from the Python `standard library documentation
    <http://docs.python.org/library/datetime.html#tzinfo-objects>`_.
    Defining __getinitargs__ enables pickling / copying.
    offsetUnion[float, timedelta]namestrreturnNonec                 C  s(   t |tr	|| _nt|d| _|| _d S )N)minutes)
isinstancer   _FixedOffset__offset_FixedOffset__name)selfr   r    r   H/var/www/html/olx_land/venv/lib/python3.10/site-packages/bson/tz_util.py__init__    s   

zFixedOffset.__init__Tuple[timedelta, str]c                 C  s   | j | jfS N)r   r   r   r   r   r   __getinitargs__'   s   zFixedOffset.__getinitargs__c                 C  s   | j j d| jd| jdS )N(z, ))	__class____name__r   r   r   r   r   r   __repr__*   s   zFixedOffset.__repr__dtOptional[datetime]r   c                 C     | j S r   )r   r   r"   r   r   r   	utcoffset-      zFixedOffset.utcoffsetc                 C  r$   r   )r   r%   r   r   r   tzname0   r'   zFixedOffset.tznamec                 C  s   t S r   )r	   r%   r   r   r   dst3   s   zFixedOffset.dstN)r   r   r   r   r   r   )r   r   )r   r   )r"   r#   r   r   )r"   r#   r   r   )
r    
__module____qualname____doc__r   r   r!   r&   r(   r)   r   r   r   r   r
      s    




r
   UTCutcN)r,   
__future__r   r   r   r   typingr   r   r   r	   __annotations__r
   r.   r   r   r   r   <module>   s   