HOME


Mini Shell 1.0
Mosykay Billing App
Logo
Login
DIR: /lib64/python3.6/email/__pycache__/
Upload File :
Current File : //lib64/python3.6/email/__pycache__/utils.cpython-36.opt-2.pyc
3

djE�@s�dddddddddd	d
ddd
dgZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	m
Z
ddl	mZmZmZddlmZdZdZdZdZdZejd�Zejd�Zdd�Zdd�ZdCd!d�Zd"d#�Zd$d%�Zd&Z d&d'�d(d�Z!d)d*�Z"d+d,�Z#d-d.�Z$ejd/ej%ej&B�Z'd0d1�Z(dDd3d�Z)dEd4d�Z*dFd5d�Z+d6d
�Z,d&d'�d7d
�Z-d8d�Z.d9d�Z/dGd:d�Z0ejd;ej1�Z2d<d�Z3dHd?d�Z4dJdAdB�Z5dS)K�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&y|j�dStk
r dSXdS)NFT)�encode�UnicodeEncodeError)�s�r�#/usr/lib64/python3.6/email/utils.py�_has_surrogates4s
rcCs|jdd�}|jdd�S)Nzutf-8�surrogateescape�replace)r�decode)�stringZoriginal_bytesrrr�	_sanitizeAsr!�utf-8c
Cs�|\}}|jd�|r�y|jd�Wn8tk
r\t|t�rFt|�}|j|�}d||fSXd}tj|�rpd}tj	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_nameZquotesrrrrMs 




ccs`d}d}xDt|�D]8\}}|r2|d|fVd}q|dkr@d}q||fVqW|r\|dfVdS)NrF�\T)�	enumerate)�addr�pos�escape�chrrr�_iter_escaped_charsosr3cCs�d|kr|Sd}d}g}xPt|�D]D\}}|dkr"|dkr@|}q"||krZ|j|||��|d}d}q"W|t|�kr�|j||d��dj|�S)Nr$r�r)r3�append�len�join)r/�startZopen_pos�resultr0r2rrr�_strip_quoted_realnames~s r:T)�strictcCs�|s&tjdd�|D��}t|�}|jSdd�|D�}t|�}tj|�}t|�}t|j�}d}x&|D]}t|�}|d|jd�7}qbWt|�|kr�d	gS|S)
Ncss|]}t|�VqdS)N)r&)�.0�vrrr�	<genexpr>�szgetaddresses.<locals>.<genexpr>cSsg|]}t|��qSr)r&)r<r=rrr�
<listcomp>�sz getaddresses.<locals>.<listcomp>rr4�,r)rr)	�
COMMASPACEr7�_AddressList�addresslist�_pre_parse_validation�_post_parse_validationr:�countr6)Zfieldvaluesr;�all�ar/r9�nr=rrrr�s 


cCsXt|�}d}xBt|�D]6\}}|dkr0|d7}q|dkr|d8}|dkrdSqW|dkS)Nr�(r4�)F)r:r3)r/Zopensr0r2rrr�_check_parenthesis�s
rLcCs,g}x"|D]}t|�sd}|j|�q
W|S)Nz('', ''))rLr5)Zemail_header_fields�accepted_valuesr=rrrrD�s
rDcCs0g}x&|D]}d|dkrd}|j|�q
W|S)N�[r4r)rr)r5)Zparsed_email_header_tuplesrMr=rrrrE�s
rEa_
  =\?                   # literal =?
  (?P<charset>[^?]*?)   # non-greedy up to the next ? is the charset
  \?                    # literal ?
  (?P<encoding>[qb])    # either a "q" or a "b", case insensitive
  \?                    # literal ?
  (?P<atom>.*?)         # non-greedy up to the next ?= is the atom
  \?=                   # literal ?=
  cCsfddddddddg|d	|d
ddd
dddddddddg|dd|d|d|d|d|fS)Nz"%s, %02d %s %04d %02d:%02d:%02d %sZMonZTueZWedZThuZFriZSatZSun��ZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecr4r���r)�	timetuple�zonerrr�_format_timetuple_and_zone�srVFcCsR|dkrtj�}|s|r,tjj|tjj�}ntjj|�}|rH|j�}d}t||�S)NF)�time�datetimeZ
fromtimestamp�timezone�utcZutcfromtimestamp�
astimezoner)�timeval�	localtime�usegmt�dtrrrr�scCsV|j�}|r2|jdks$|jtjjkr,td��d}n|jdkrBd}n
|jd�}t||�S)Nz%usegmt option requires a UTC datetimeZGMTz-0000z%z)rT�tzinforXrYrZ�
ValueErrorZstrftimerV)r_r^�nowrUrrrrs

cCs^ttj�d�}tj�}tjd�}|dkr0d}nd|}|dkrHtj�}d|||||f}|S)N�d�@r�.z<%d.%d.%d%s@%s>)�intrW�os�getpid�randomZgetrandbits�socketZgetfqdn)ZidstringZdomainr\�pidZrandintZmsgidrrrr	/s

cCsNt|��^}}|dkr(tj|dd��Stj|dd�dtjtj|d��i�S)NrOr`)�seconds)rrXrY�	timedelta)�dataZdtuple�tzrrrrFs
cCsx|st|�j}|sdS|dSt|t�r0|d}t|t�s>dSt|g�d}tt|�j�}|slt|�dkrpdS|dS)Nrrr4)rr)rr)rr)rBrCr%�listr&rDrEr6)r/r;ZaddrsrrrrNs	


cCs`t|�dkr\|jd�r<|jd�r<|dd�jdd�jdd�S|jd�r\|jd�r\|dd	�S|S)
Nr4r$z\\r-z\"�<�>���rs)r6�
startswith�endswithr)r&rrrrmscCs&|jtd�}t|�dkr"dd|fS|S)NrP)�split�TICKr6)r�partsrrrrys
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
Csx|dd�}g}i}|jd�\}}|j||f�x�|r�|jd�\}}|jd�rTd}nd}t|�}tj|�}|r�|jdd�\}}|dk	r�t|�}|j|g�j|||f�q2|j|dt	|�f�q2W|�rtx�|j
�D]�\}}g}d}	|j�x6|D].\}}
}|�rtj
j|
dd	�}
d}	|j|
�q�Wt	tj|��}|	�r^t|�\}}}|j|||d|ff�q�|j|d|f�q�W|S)
Nr�*TFr,�numz"%s"zlatin-1)ry)�popr5rur�rfc2231_continuation�match�grouprf�
setdefaultr�items�sortrzr{�EMPTYSTRINGr7r)
ZparamsZ
new_paramsZrfc2231_paramsr,�valueZencodedZmor~Z
continuationsZextendedrr+r|rrrr�sD

r�us-asciicCsjt|t�st|�dkr t|�S|\}}}|dkr6|}t|d�}yt|||�Stk
rdt|�SXdS)NrQzraw-unicode-escape)r%�tupler6r�bytesr&�LookupError)r��errorsZfallback_charsetr+r|�textZrawbytesrrrr�s

r4c	Cs|dkrtjjtjj�j�S|jdk	r.|j�S|j�dd�|f}tj|�}tj	|�}y tj
|jd�}tj||j�}Wn�t
k
r�|tjtj|�dd��}tjo�|jdk}|r�tjntj}|tj
|d�kr�tj|tj|�}n
tj|�}YnX|j|d�S)Nr4)rlrOr)r`rs)rXrbrYrZr[r`rTrWZmktimer]rmZ	tm_gmtoffZtm_zone�AttributeErrorZgmtimeZdaylightZtm_isdstZaltzoneZtznamer)	r_ZisdstZtmrlZlocaltmZdeltaro�dstZgmtoffrrrr]�s$


r])r")NFF)F)NN)NN)rr�rs)Nrs)6�__all__rg�rerWrirjrXZurllib.parserzZemail._parseaddrrrrBr
rr
rZ
email.charsetrrAr�ZUEMPTYSTRINGZCRLFrw�compiler'r)rr!rr3r:Zsupports_strict_parsingrrLrDrE�VERBOSE�
IGNORECASEZecrerVrrr	rrrrr�ASCIIr�rrr]rrrr�<module>sx



",

	



8