File: //usr/lib64/python3.8/__pycache__/_compression.cpython-38.pyc
U
    e5d�  �                   @   s:   d Z ddlZejZG dd� dej�ZG dd� dej�ZdS )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 rtd��d S )NzI/O operation on closed file)�closed�
ValueError��self� r   �$/usr/lib64/python3.8/_compression.py�_check_not_closed   s    zBaseStream._check_not_closedc                 C   s   | � � st�d��d S )NzFile not open for reading)�readable�io�UnsupportedOperationr   r   r   r   �_check_can_read   s    zBaseStream._check_can_readc                 C   s   | � � st�d��d S )NzFile not open for writing)�writabler   r   r   r   r   r   �_check_can_write   s    zBaseStream._check_can_writec                 C   s(   | � � st�d��| �� s$t�d��d 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� Zddd�Z� fdd�Zd	d
� Zdd� Zddd�Z	dd� Z
ejfdd�Z
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>