
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
nf\                 @   s&   d Z ddlZddlmZ dddZdS )z
backports.makefile
~~~~~~~~~~~~~~~~~~

Backports the Python 3 ``socket.makefile`` method for use with anything that
wants to create a "fake" socket object.
    N)SocketIOrc             C   s   t |dddhks td|f d|k}d|kp4| }d|k}d}	|rN|	d7 }	|rZ|	d7 }	t| |	}
|  jd7  _|dkr~d
}|dk rtj}|dkr|std	|
S |r|rtj|
|
|}n|rtj|
|}ntj|
|}|r|S tj	||||}||_
|S )z:
    Backport of ``socket.makefile`` from Python 3.5.
    r   wbz&invalid mode %r (only r, w, b allowed)    Nr   z!unbuffered streams must be binary)set
ValueErrorr   Z_makefile_refsioDEFAULT_BUFFER_SIZEBufferedRWPairBufferedReaderBufferedWriterTextIOWrappermode)selfr   	bufferingencodingerrorsnewlineZwritingZreadingZbinaryZrawmoderawbuffertext r   /usr/lib/python3.6/makefile.pybackport_makefile   s>    
r   )r   NNNN)__doc__r   Zsocketr   r   r   r   r   r   <module>   s    