MINI MINI MANI MO
3
\N @ s d ddgZ ddlZddlZddlZddlZddlmZ ddlmZm Z ddl
mZ dZd Z
ejd
ZejdejZG dd d ZG d
d deZdZG dd deZeeejd Zde ZejZdS ) GeneratorDecodedGeneratorBytesGenerator N)deepcopy)StringIOBytesIO)_has_surrogates_
z
\r\n|\r|\nz^From c @ s e Zd Zd&ddddZdd Zd'dd Zd
d Zdd
Zdd Zdd Z dd Z
dd Zdd Zdd Z
e
Zdd Zdd Zdd Zd d! Zed(d"d#Zed$d% ZdS ))r N)policyc C s6 |d kr|d krdn|j }|| _|| _|| _|| _d S )NT)mangle_from__fp
_mangle_from_maxheaderlenr )selfoutfpr r r r '/usr/lib64/python3.6/email/generator.py__init__$ s zGenerator.__init__c C s | j j| d S )N)r
write)r sr r r r D s zGenerator.writeFc C s | j d kr|j n| j }|d k r*|j|d}| jd k rB|j| jd}|j| _| j| j| _d| _| j| j| _| j }|j }zL|| _ ||_ |r|j }|sdt
jt
j
}| j|| j | j
| W d || _ ||_ X d S )N)linesep)max_line_length zFrom nobody )r cloner r _NL_encode_encoded_NLZ_EMPTY_encoded_EMPTYZget_unixfromtimeZctimer _write)r msgunixfromr r Zold_gen_policyZold_msg_policyZufromr r r flattenH s,
zGenerator.flattenc C s | j || jd | jdS )N)r ) __class__r r )r fpr r r r y s zGenerator.clonec C s t S )N)r )r r r r _new_buffer s zGenerator._new_bufferc C s |S )Nr )r r r r r r s zGenerator._encodec C sX |sd S t j|}x*|d d D ]}| j| | j| j q W |d rT| j|d d S )N r( r( )NLCREsplitr r )r linesliner r r _write_lines s
zGenerator._write_linesc C s | j }z"d | _| j | _ }| j| W d || _ | j}| `X |rht|}|jd|d |jd|d t|dd }|d kr| j| n|| | j j|j d S )Nzcontent-transfer-encodingr zcontent-typer' _write_headers)
r
_munge_cter&