a
i @ 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
ValueErrorself r $/usr/lib64/python3.9/_compression.py_check_not_closed s zBaseStream._check_not_closedc C s | stdd S )NzFile not open for reading)readableioUnsupportedOperationr 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 seekabler 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 sB || _ d| _d| _d| _|| _|| _| jf i | j| _|| _d S )NFr )_fp_eof_pos_size_decomp_factory_decomp_args
_decompressor_trailing_error)r fpdecomp_factorytrailing_errordecomp_argsr r r __init__' s zDecompressReader.__init__c s d | _ t S N)r supercloser __class__r r r' ; s zDecompressReader.closec C s
| j S r% )r r r r r r r ? s zDecompressReader.seekablec C sx t |X}|d.}| t|}||d t|<