File: //proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/gzip.cpython-37.opt-2.pyc
B
    YI~d�P  �               @   s�   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddddgZd\Z	Z
ZZZ
d\ZZdZd	Zd
Zddd�Zd
d� ZG dd� d�ZG dd� dej�ZG dd� dej�Zddd�Zdd� Zdd� Zedkr�e�  dS )�    N�GzipFile�open�compress�
decompress)�   �   �   �   �   )r   r   r   �   �	   �rbc             C   s�   d|kr d|krPt d|f ��n0|d k	r0t d��|d k	r@t d��|d k	rPt d��|�dd�}t| tttjf�r|t| ||�}n,t| d�s�t| d	�r�td ||| �}nt	d
��d|kr�t
�||||�S |S d S )N�t�bzInvalid mode: %rz0Argument 'encoding' not supported in binary modez.Argument 'errors' not supported in binary modez/Argument 'newline' not supported in binary mode� �read�writez1filename must be a str or bytes object, or a file)�
ValueError�replace�
isinstance�str�bytes�os�PathLiker   �hasattr�	TypeError�io�
TextIOWrapper)�filename�mode�
compresslevel�encoding�errors�newlineZgz_modeZbinary_file� r$   �)/opt/alt/python37/lib64/python3.7/gzip.pyr      s$    c             C   s   | � t�d|�� d S )Nz<L)r   �struct�pack)�output�valuer$   r$   r%   �write32uE   s    r*   c               @   s8   e Zd Zd
dd�Zdd� Zddd�Zdd	� Zd
d� ZdS )�_PaddedFile�    c             C   s    || _ t|�| _|| _d| _d S )Nr   )�_buffer�len�_length�file�_read)�self�f�prependr$   r$   r%   �__init__O   s    
z_PaddedFile.__init__c             C   s~   | j d kr| j�|�S | j | | jkrJ| j }|  j |7  _ | j|| j � S | j }d | _ | j|d � | j�|| j | � S d S )N)r1   r0   r   r/   r-   )r2   �sizer   r$   r$   r%   r   U   s    
z_PaddedFile.readc             C   s>