B vlƵ @ s: d Z ddlZejZG dd dejZG dd dejZdS )z7Internal classes used by the gzip, lzma and bz2 modules Nc @ s0 e Zd ZdZdd Zdd Zdd Zdd Zd S ) BaseStreamzMode-checking helper functions.c C s | j rtdd S )NzI/O operation on closed file)closed ValueError)self r 1/opt/alt/python37/lib64/python3.7/_compression.py_check_not_closed s zBaseStream._check_not_closedc C s | stdd S )NzFile not open for reading)readableioUnsupportedOperation)r r r r _check_can_read s zBaseStream._check_can_readc C s | stdd S )NzFile not open for writing)writabler r )r r r r _check_can_write s zBaseStream._check_can_writec C s( | std| s$tdd S )Nz3Seeking is only supported on files open for readingz3The underlying file object does not support seeking)r r r seekable)r r r r _check_can_seek s zBaseStream._check_can_seekN)__name__ __module____qualname____doc__r r r r r r r r r s r c sj e Zd ZdZdd ZdddZ fddZd d Zdd ZdddZ dd Z ejfddZ dd Z ZS )DecompressReaderz5Adapts the decompressor API to a RawIOBase reader APIc C s dS )NTr )r r r r r $ s zDecompressReader.readabler c K s> || _ d| _d| _d| _|| _|| _| jf | j| _|| _d S )NFr )_fp_eof_pos_size_decomp_factory_decomp_args _decompressor_trailing_error)r fpZdecomp_factoryZtrailing_errorZdecomp_argsr r r __init__' s zDecompressReader.__init__c s d | _ t S )N)r superclose)r ) __class__r r r" ; s zDecompressReader.closec C s | j S )N)r r )r r r r r ? s zDecompressReader.seekablec C sP t |:}|d$}| t|}||d t|<