Mini Shell
a
�DOg#, � @ s� d Z g d�ZddlZddlZddlZddlZddlZddlZddl Zddl
ZddlZ
ddlmZ dZdadd� Zee
jj�ZdZd d
� ZdZdd
� Zg d�Zg d�Zg ZeD ]Ze�e� � � q�dedd�Z!dfdd�Z"ddddd�Z#e�$dej%�Z&dd� Z'dd� Z(e�$dej%�Z)e�$dej*ej%B �Z+e�$dej,ej%B �Z-dd� Z.e�$dej,ej%B �Z/d d!� Z0d"d#� Z1e�$d$�Z2e�$d%�Z3e�$d&�Z4e�$d'�Z5d(d)� Z6e�$d*�Z7d+d,� Z8d-d.� Z9d/d0� Z:e�$d1ej%�Z;d2d3� Z<d4d5� Z=d6d7� Z>d8d9� Z?e�$d:ej%�Z@d;d<� ZAd=d>� ZBd?d@� ZCdAdB� ZDdCZEe�$dD�ZFdEdF� ZGdGdH� ZHdIdJ� ZIdKdL� ZJG dMdN� dN�ZKG dOdP� dP�ZLG dQdR� dReL�ZMdSdT� ZNdUdV� ZOG dWdX� dX�ZPG dYdZ� dZ�ZQG d[d\� d\eR�ZSG d]d^� d^eQ�ZTd_d`� ZUG dadb� dbeT�ZVG dcdd� ddeT�ZWdS )ga� HTTP cookie handling for web clients.
This module has (now fairly distant) origins in Gisle Aas' Perl module
HTTP::Cookies, from the libwww-perl library.
Docstrings, comments and debug strings in this code refer to the
attributes of the HTTP cookie system as cookie-attributes, to distinguish
them clearly from Python attributes.
Class diagram (note that BSDDBCookieJar and the MSIE* classes are not
distributed with the Python standard library, but are available from
http://wwwsearch.sf.net/):
CookieJar____
/ \ \
FileCookieJar \ \
/ | \ \ \
MozillaCookieJar | LWPCookieJar \ \
| | \
| ---MSIEBase | \
| / | | \
| / MSIEDBCookieJar BSDDBCookieJar
|/
MSIECookieJar
)�Cookie� CookieJar�CookiePolicy�DefaultCookiePolicy�
FileCookieJar�LWPCookieJar� LoadError�MozillaCookieJar� N)�timegmFc G s( t sd S tsdd l}|�d�atj | � S )Nr zhttp.cookiejar)�debug�logger�logging� getLogger)�argsr
� r �&/usr/lib64/python3.9/http/cookiejar.py�_debug, s
r zQa filename was not supplied (nor was the CookieJar instance initialised with one)c C sJ dd l } dd l}dd l}| �� }|�d |� |�� }|jd| dd� d S )Nr zhttp.cookiejar bug!
%s� )�
stacklevel)�io�warnings� traceback�StringIO� print_exc�getvalue�warn)r r r �f�msgr r r �_warn_unhandled_exception: s
r i� c C s� | d d� \}}}}}}|t kr�d| kr4dkr�n nhd| krLdkr�n nPd| krddkr�n n8d| kr|dkr�n n d| kr�dkr�n nt| �S d S d S ) N� � � � r � �; �= )�
EPOCH_YEARr
)�tt�year�monthZmday�hour�min�secr r r �_timegmI s 8��
��
��
r- )ZMonZTueZWedZThuZFriZSatZSun)ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc C s@ | du rt j �� }nt j �| �}d|j|j|j|j|j|jf S )aH Return a string representing time in seconds since epoch, t.
If the function is called without an argument, it will use the current
time.
The format of the returned string is like "YYYY-MM-DD hh:mm:ssZ",
representing Universal Time (UTC, aka GMT). An example of this format is:
1994-11-24 08:49:37Z
Nz%04d-%02d-%02d %02d:%02d:%02dZ) �datetime�utcnow�utcfromtimestampr( r) �dayr* �minute�second��tZdtr r r � time2isozW s �r6 c C sR | du rt j �� }nt j �| �}dt|�� |jt|jd |j|j |j
|jf S )z�Return a string representing time in seconds since epoch, t.
If the function is called without an argument, it will use the current
time.
The format of the returned string is like this:
Wed, DD-Mon-YYYY HH:MM:SS GMT
Nz#%s, %02d-%s-%04d %02d:%02d:%02d GMTr )r. r/ r0 �DAYSZweekdayr1 �MONTHSr) r( r* r2 r3 r4 r r r �
time2netscapej s �r9 )ZGMT�UTCZUT�Zz^([-+])?(\d\d?):?(\d\d)?$c C sj d }| t v rd}nTt�| �}|rfdt|�d�� }|�d�rR|dt|�d�� }|�d�dkrf| }|S )Nr i r � �<