];( @ s d d l Z d d l m Z m Z m Z m Z d d l m Z d d l m Z d d l
m Z d d d d d
d d d
g Z e j
d Z e Gd d d e Z e Z e ` e j d d Z e j d d Z e j d d d d Z e j d d Z d S) N)PolicyCompat32compat32_extend_docstrings)_has_surrogates)HeaderRegistry)raw_data_managerr r r EmailPolicydefaultstrictSMTPHTTPz\n|\rc s e Z d Z d Z d Z e Z e Z f d d Z d d Z
d d Z d d
Z d d Z
d
d Z d d Z d d d Z S)r Flongc s6 d | k r" t j | d t t j | d S)Nheader_factory)object__setattr__r super__init__)selfkw) __class__ +/opt/alt/python35/lib64/python3.5/policy.pyr Z s zEmailPolicy.__init__c C s | j | j S)N)r Z max_count)r namer r r header_max_counta s zEmailPolicy.header_max_countc C sU | d j d d \ } } | j d d j | d d } | | j d f S)Nr : z z
)splitlstripjoinrstrip)r Zsourcelinesr valuer r r header_source_parses s &zEmailPolicy.header_source_parsec C s} t | d r4 | j j | j k r4 | | f St | t rg t | j d k rg t d | | j | | f S)Nr r zDHeader values may not contain linefeed or carriage return characters) hasattrr lower
isinstancestrlen
splitlines
ValueErrorr )r r r" r r r header_store_parse s
*
'zEmailPolicy.header_store_parsec C s; t | d r | Sd j t j | } | j | | S)Nr r )r$ r linesep_splitterr r )r r r" r r r header_fetch_parse s zEmailPolicy.header_fetch_parsec C s | j | | d d S)N
refold_binaryT)_fold)r r r" r r r fold s zEmailPolicy.foldc C sF | j | | d | j d k } | j r0 d n d } | j | d S)Nr. Z7bitutf8asciisurrogateescape)r/ Zcte_typer1 encode)r r r" Zfoldedcharsetr r r fold_binary s !zEmailPolicy.fold_binaryc s t | d r | j d | S| j r1 | j n t d | j } | j d k p | j d k o | r t | d t | d k p t f d d | d
d D } | s | r t | r | j | d j
| j d | S| d | j j
| | j S)
Nr Zpolicyinfallr r c 3 s! | ] } t | k Vq d S)N)r( ).0x)maxlenr r