Your IP : 3.147.48.226


Current Path : /lib64/python3.8/email/__pycache__/
Upload File :
Current File : //lib64/python3.8/email/__pycache__/utils.cpython-38.opt-2.pyc

U

e5d�4�@sfdddddddddd	d
ddd
dgZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	m
Z
ddl	mZmZmZddlmZdZdZdZdZdZe�d�Ze�d�Zdd�Zdd�Zd6d!d�Zd"d�Zd#d$�Zd7d&d�Z d8d'd�Z!d9d(d�Z"d)d
�Z#d*d
�Z$d+d�Z%d,d�Z&d:d-d�Z'e�d.ej(�Z)d/d�Z*d;d2d�Z+d<d4d5�Z,dS)=�collapse_rfc2231_value�
decode_params�decode_rfc2231�encode_rfc2231�
formataddr�
formatdate�format_datetime�getaddresses�
make_msgid�	mktime_tz�	parseaddr�	parsedate�parsedate_tz�parsedate_to_datetime�unquote�N)�quote)�AddressList)r
)rr
�
_parsedate_tz)�Charsetz, �z
�'z[][\\()<>@,:;".]z[\\"]cCs*z|��WdStk
r$YdSXdS)NFT)�encode�UnicodeEncodeError)�s�r�#/usr/lib64/python3.8/email/utils.py�_has_surrogates3s
rcCs|�dd�}|�dd�S)N�utf-8�surrogateescape�replace)r�decode)�stringZoriginal_bytesrrr�	_sanitize@sr"rcCs�|\}}|�d�|r�z|�d�Wn<tk
r`t|t�rFt|�}|�|�}d||fYSXd}t�|�rtd}t�	d|�}d||||fS|S)N�asciiz%s <%s>r�"z\\\g<0>z%s%s%s <%s>)
rr�
isinstance�strrZ
header_encode�
specialsre�search�	escapesre�sub)Zpair�charset�nameZaddressZencoded_nameZquotesrrrrLs 




cCst�|�}t|�}|jS)N)�
COMMASPACE�join�_AddressList�addresslist)Zfieldvalues�all�arrrrns
cCsfddddddddg|d	|d
ddd
dddddddddg|dd|d|d|d|d|fS)Nz"%s, %02d %s %04d %02d:%02d:%02d %sZMonZTueZWedZThuZFriZSatZSun��ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDec�r���r)�	timetuple�zonerrr�_format_timetuple_and_zoneus&�
��r;FcCsR|dkrt��}|s|r,tj�|tjj�}ntj�|�}|rH|��}d}t||�S)NF)�time�datetimeZ
fromtimestamp�timezone�utcZutcfromtimestamp�
astimezoner)�timeval�	localtime�usegmt�dtrrrr~scCsV|��}|r2|jdks$|jtjjkr,td��d}n|jdkrBd}n
|�d�}t||�S)Nz%usegmt option requires a UTC datetimeZGMTz-0000z%z)r9�tzinfor=r>r?�
ValueError�strftimer;)rDrC�nowr:rrrr�s

cCs^tt��d�}t��}t�d�}|dkr0d}nd|}|dkrHt��}d|||||f}|S)N�d�@r�.z<%d.%d.%d%s@%s>)�intr<�os�getpid�randomZgetrandbits�socketZgetfqdn)ZidstringZdomainrA�pidZrandintZmsgidrrrr	�s

cCsNt|��^}}|dkr(tj|dd��Stj|dd�dt�tj|d��i�S)Nr3rE��seconds)rr=r>�	timedelta)�dataZdtuple�tzrrrr�s�cCst|�j}|sdS|dS)N)rrr)r/r0)ZaddrZaddrsrrrr�s
cCs`t|�dkr\|�d�r<|�d�r<|dd��dd��dd�S|�d�r\|�d�r\|dd�S|S)	Nr5r$���z\\�\z\"�<�>)�len�
startswith�endswithr)r&rrrr�scCs&|�td�}t|�dkr"dd|fS|S)Nr4)�split�TICKr[)r�partsrrrr�s
cCsDtjj|d|pdd�}|dkr*|dkr*|S|dkr6d}d|||fS)Nrr#)Zsafe�encodingz%s'%s'%s)�urllib�parser)rr+�languagerrrr�sz&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c
Csl|dd�}g}i}|�d�\}}|�||f�|r�|�d�\}}|�d�rRd}nd}t|�}t�|�}|r�|�dd�\}}|dk	r�t|�}|�|g��|||f�q0|�|dt	|�f�q0|�rh|�
�D]�\}}g}d}	|��|D].\}}
}|�rtj
j|
dd	�}
d}	|�|
�q�t	t�|��}|	�rTt|�\}}}|�|||d|ff�q�|�|d|f�q�|S)
Nr�*TFr,�numz"%s"zlatin-1)ra)�pop�appendr]r�rfc2231_continuation�match�grouprL�
setdefaultr�items�sortrbrc�EMPTYSTRINGr.r)
ZparamsZ
new_paramsZrfc2231_paramsr,�valueZencodedZmorfZ
continuationsZextendedrr+rdrrrrsD

r�us-asciicCsnt|t�rt|�dkrt|�S|\}}}|dkr4|}t|d�}zt|||�WStk
rht|�YSXdS)Nr6zraw-unicode-escape)r%�tupler[r�bytesr&�LookupError)rp�errorsZfallback_charsetr+rd�textZrawbytesrrrr9s

rWc	Cs|dkrtj�tjj���S|jdk	r.|��S|��dd�|f}t�|�}t�	|�}z tj
|jd�}t�||j�}Wn�t
k
r�|tjt�|�dd��}tjo�|jdk}|r�tjntj}|tj
|d�kr�t�|tj|�}n
t�|�}YnX|j|d�S)NrWrRr3r)rE)r=rHr>r?r@rEr9r<�mktimerBrT�	tm_gmtoff�tm_zone�AttributeError�gmtime�daylight�tm_isdst�altzone�tznamer)	rDZisdstZtmrSZlocaltmZdeltarVZdstZgmtoffrrrrBSs$


rB)r)NFF)F)NN)NN)rrq)NrW)-�__all__rM�rer<rOrPr=Zurllib.parserbZemail._parseaddrrrr/r
rr
rZ
email.charsetrr-roZUEMPTYSTRINGZCRLFr_�compiler'r)rr"rrr;rrr	rrrrr�ASCIIrirrrBrrrr�<module>sn�



"	



�8�


?>