o
    Ni                     @   sj   d Z ddlZddlZddlmZ ddlmZ dZdZe	e
 jZde	defd	d
Zdede	fddZdS )zwConvert times to and from HTTP-date serialisations.

Reference: https://www.rfc-editor.org/rfc/rfc7231#section-7.1.1.1
    N)parsedate_tz)RemovedInSphinx90Warning)MonTueWedThuFriSatSun) JanFebMarAprMayJunJulAugSepOctNovDecepochreturnc                 C   sd   t | \	}}}}}}}}}	t| }
t| }|
 d|dd| d|dd|dd|dd|ddS )z*Return HTTP-date string from epoch offset.z, 02 04: GMT)timegmtime_WEEKDAY_NAME_MONTH_NAME)r   yrmnddhhmmsswd_yd_tzweekday_namemonth r.   I/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/util/http_date.pyepoch_to_rfc1123   s   8r0   rfc1123c                 C   s   t | }|du r
t| dstjd| tdd tt|dd t	 }|d  }dkrAtjd| tdd ||p?d S |S )	z*Return epoch offset from HTTP-date string.Nr   zLHTTP-date string does not meet RFC 7231 requirements (must end with 'GMT'):    )
stacklevel	   r   zIHTTP-date string does not meet RFC 7231 requirements (must be GMT time): )
r   
ValueErrorendswithwarningswarnr   r   mktimestruct_time_GMT_OFFSET)r1   t
epoch_secs
gmt_offsetr.   r.   r/   rfc1123_to_epoch   s,   
r?   )__doc__r   r7   email.utilsr   sphinx.deprecationr   r!   r"   float	localtime	tm_gmtoffr;   strr0   r?   r.   r.   r.   r/   <module>   s    