????

Your IP : 18.116.170.100


Current Path : /proc/self/root/opt/alt/python39/lib64/python3.9/email/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python39/lib64/python3.9/email/__pycache__/utils.cpython-39.opt-2.pyc

a

���e�3�@sLgd�ZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	m
Z
ddl	mZmZmZddlmZdZd	Zd	Zd
ZdZe�d�Ze�d
�Zdd�Zdd�Zd4dd�Zdd�Zdd�Zd5dd�Z d6dd�Z!d7dd�Z"d d!�Z#d"d#�Z$d$d%�Z%d&d'�Z&d8d(d)�Z'e�d*ej(�Z)d+d,�Z*d9d/d0�Z+d:d2d3�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|��WdSty"YdS0dS)NFT)�encode�UnicodeEncodeError)�s�r�0/opt/alt/python39/lib64/python3.9/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:ty^t|t�rDt|�}|�|�}d||fYS0d}t�|�rrd}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 




rcCs"t�dd�|D��}t|�}|jS)Ncss|]}t|�VqdS)N�r&)�.0�vrrr�	<genexpr>p�zgetaddresses.<locals>.<genexpr>)�
COMMASPACE�join�_AddressList�addresslist)Zfieldvalues�all�arrrrnsrc	CsHdgd�|d|dgd�|dd|d|d|d	|d
|fS)Nz"%s, %02d %s %04d %02d:%02d:%02d %s)ZMonZTueZWedZThuZFriZSatZSun��)ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDec�r���r)�	timetuple�zonerrr�_format_timetuple_and_zoneus
��r@FcCsR|durt��}|s|r,tj�|tjj�}ntj�|�}|rH|��}d}t||�S)NF)�time�datetimeZ
fromtimestamp�timezone�utcZutcfromtimestamp�
astimezoner)�timeval�	localtime�usegmt�dtrrrr~srcCsV|��}|r2|jdus$|jtjjkr,td��d}n|jdurBd}n
|�d�}t||�S)Nz%usegmt option requires a UTC datetimeZGMTz-0000z%z)r>�tzinforBrCrD�
ValueError�strftimer@)rIrH�nowr?rrrr�s

rcCs^tt��d�}t��}t�d�}|dur0d}nd|}|durHt��}d|||||f}|S)N�d�@r�.z<%d.%d.%d%s@%s>)�intrA�os�getpid�randomZgetrandbits�socketZgetfqdn)ZidstringZdomainrF�pidZrandintZmsgidrrrr	�s

r	cCsNt|��^}}|dur(tj|dd��Stj|dd�dt�tj|d��i�S)Nr8rJ��seconds)rrBrC�	timedelta)�dataZdtuple�tzrrrr�s�rcCst|�j}|sdS|dS)N)rrr)r4r5)ZaddrZaddrsrrrr�s
rcCs`t|�dkr\|�d�r<|�d�r<|dd��dd��dd�S|�d�r\|�d�r\|dd�S|S)	Nr:r$���z\\�\z\"�<�>)�len�
startswith�endswithrr-rrrr�srcCs&|�td�}t|�dkr"dd|fS|S)Nr9)�split�TICKr`)r�partsrrrr�s
rcCsDtjj|d|pdd�}|dur*|dur*|S|dur6d}d|||fS)Nrr#)Zsafe�encodingz%s'%s'%s)�urllib�parser)rr+�languagerrrr�srz&^(?P<name>\w+)\*((?P<num>[0-9]+)\*?)?$c
Cs@|dg}i}|dd�D]x\}}|�d�}t|�}t�|�}|r||�dd�\}}|durbt|�}|�|g��|||f�q|�|dt|�f�q|�r<|�	�D]�\}}g}d}	|�
�|D],\}}
}|r�tjj|
dd	�}
d
}	|�|
�q�tt
�|��}|	�r(t|�\}}}|�|||d|ff�q�|�|d|f�q�|S)Nrr:�*r,�numz"%s"Fzlatin-1)rfT)rbr�rfc2231_continuation�match�grouprQ�
setdefault�appendr�items�sortrgrh�EMPTYSTRINGr3r)
�params�
new_paramsZrfc2231_paramsr,�valueZencodedZmorkZ
continuationsZextendedrr+rirrrrs8


rr�us-asciicCslt|t�rt|�dkrt|�S|\}}}|dur4|}t|d�}zt|||�WStyft|�YS0dS)Nr;zraw-unicode-escape)r%�tupler`r�bytesr&�LookupError)rv�errorsZfallback_charsetr+ri�textZrawbytesrrrr1s

rr\c	Cs|durtj�tjj���S|jdur.|��S|��dd�|f}t�|�}t�	|�}z tj
|jd�}t�||j�}Wn~t
y�|tjt�|�dd��}tjo�|jdk}|r�tjntj}|tj
|d�kr�t�|tj|�}n
t�|�}Yn0|j|d�S)Nr\rWr8r)rJ)rBrMrCrDrErJr>rA�mktimerGrY�	tm_gmtoff�tm_zone�AttributeError�gmtime�daylight�tm_isdst�altzone�tznamer)	rIZisdstZtmrXZlocaltmZdeltar[ZdstZgmtoffrrrrGKs$


rG)r)NFF)F)NN)NN)rrw)Nr\)-�__all__rR�rerArTrUrBZurllib.parsergZemail._parseaddrrrr4r
rr
rZ
email.charsetrr2rsZUEMPTYSTRINGZCRLFrd�compiler'r)rr"rrr@rrr	rrrrr�ASCIIrlrrrGrrrr�<module>sP



"	



�0�