Your IP : 3.138.137.244


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/_compression.cpython-36.pyc

3


 \��@s:dZddlZejZGdd�dej�ZGdd�dej�ZdS)z7Internal classes used by the gzip, lzma and bz2 modules�Nc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�
BaseStreamzMode-checking helper functions.cCs|jrtd��dS)NzI/O operation on closed file)�closed�
ValueError)�self�r�$/usr/lib64/python3.6/_compression.py�_check_not_closedszBaseStream._check_not_closedcCs|j�stjd��dS)NzFile not open for reading)�readable�io�UnsupportedOperation)rrrr�_check_can_readszBaseStream._check_can_readcCs|j�stjd��dS)NzFile not open for writing)�writabler
r)rrrr�_check_can_writeszBaseStream._check_can_writecCs(|j�stjd��|j�s$tjd��dS)Nz3Seeking is only supported on files open for readingz3The underlying file object does not support seeking)r	r
r�seekable)rrrr�_check_can_seeks
zBaseStream._check_can_seekN)�__name__�
__module__�__qualname__�__doc__rrrrrrrrr	s
rcsleZdZdZdd�Zffdd�Z�fdd�Zdd	�Zd
d�Zdd
d�Z	dd�Z
ejfdd�Z
dd�Z�ZS)�DecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIcCsdS)NTr)rrrrr	$szDecompressReader.readablecKs>||_d|_d|_d|_||_||_|jf|j�|_||_dS)NFr����)�_fp�_eof�_pos�_size�_decomp_factory�_decomp_args�
_decompressor�_trailing_error)r�fpZdecomp_factoryZtrailing_errorZdecomp_argsrrr�__init__'szDecompressReader.__init__csd|_t�j�S)N)r�super�close)r)�	__class__rrr#;szDecompressReader.closecCs
|jj�S)N)rr)rrrrr?szDecompressReader.seekablecCsPt|��:}|jd��$}|jt|��}||dt|��<WdQRXWdQRXt|�S)N�B)�
memoryview�cast�read�len)r�bZviewZ	byte_view�datarrr�readintoBs$zDecompressReader.readintorcCs�|dkr|j�S|s|jr dSd}x�|jjr�|jjp@|jjt�}|sHP|jf|j	�|_y|jj
||�}Wq�|jk
r�PYq�Xn4|jjr�|jjt�}|s�t
d��nd}|jj
||�}|r&Pq&W|s�d|_|j|_dS|jt|�7_|S)Nr�zACompressed file ended before the end-of-stream marker was reachedT)�readallrr�eofZunused_datarr(�BUFFER_SIZErrZ
decompressrZneeds_input�EOFErrorrrr))r�sizer+Zrawblockrrrr(Hs>


zDecompressReader.readcCs,|jjd�d|_d|_|jf|j�|_dS)NrF)r�seekrrrrr)rrrr�_rewindrszDecompressReader._rewindcCs�|tjkrnV|tjkr"|j|}n@|tjkrT|jdkrHx|jtj�rFq8W|j|}ntdj	|���||jkrv|j
�n
||j8}x0|dkr�|jttj|��}|s�P|t|�8}q�W|jS)NrzInvalid value for whence: {})
r
�SEEK_SET�SEEK_CURr�SEEK_ENDrr(�DEFAULT_BUFFER_SIZEr�formatr4�minr))r�offset�whencer+rrrr3xs&







zDecompressReader.seekcCs|jS)z!Return the current file position.)r)rrrr�tell�szDecompressReader.tellr)r)rrrrr	r!r#rr,r(r4r
r5r3r=�
__classcell__rr)r$rr!s
*r)rr
r8r0�BufferedIOBaser�	RawIOBaserrrrr�<module>s

?>