
    i	[z                     $    d dl Z d dlmZmZ ddZy)    N)timezonetimedelta_secondsc                    | j                   ?|du r0|du r!| j                  t        j                        } nt	        d      t	        d      |du r| j                  t        j                        } | j                  d      }|du r|| j                  d      z  }| j                   t        j                  u r|dz  }|S |t        t        | j                   j                  |                   z  }|S )a  
    Generate an :RFC:`3339`-formatted timestamp from a
    :class:`datetime.datetime`.

    >>> from datetime import datetime
    >>> generate(datetime(2009,1,1,12,59,59,0,pytz.utc))
    '2009-01-01T12:59:59Z'

    The timestamp will use UTC unless `utc=False` is specified, in which case
    it will use the timezone from the :class:`datetime.datetime`'s
    :attr:`tzinfo` parameter.

    >>> eastern = pytz.timezone('US/Eastern')
    >>> dt = eastern.localize(datetime(2009,1,1,12,59,59))
    >>> generate(dt)
    '2009-01-01T17:59:59Z'
    >>> generate(dt, utc=False)
    '2009-01-01T12:59:59-05:00'

    Unless `accept_naive=True` is specified, the `datetime` must not be naive.

    >>> generate(datetime(2009,1,1,12,59,59,0))
    Traceback (most recent call last):
    ...
    ValueError: naive datetime and accept_naive is False

    >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True)
    '2009-01-01T12:59:59Z'

    If `accept_naive=True` is specified, the `datetime` is assumed to be UTC.
    Attempting to generate a local timestamp from a naive datetime will result
    in an error.

    >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True, utc=False)
    Traceback (most recent call last):
    ...
    ValueError: cannot generate a local timestamp from a naive datetime

    T)tzinfoz7cannot generate a local timestamp from a naive datetimez(naive datetime and accept_naive is Falsez%Y-%m-%dT%H:%M:%Sz.%fZ)
r   replacepytzutc
ValueError
astimezonestrftimer   r   	utcoffset)dtr
   accept_naivemicroseconds	timestamps        5/usr/lib/python3/dist-packages/pyrfc3339/generator.pygenerater      s    P 
yy4d{ZZtxxZ0  "4 5 5 GHH
d{]]488$/0ItR[[''		yyDHHS	  	X/		0C0CB0GHII	    )TFF)r	   pyrfc3339.utilsr   r   r    r   r   <module>r      s     7=r   