3 2aN @ 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 ./opt/alt/python36/lib64/python3.6/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&