o
    h                     @   s*   d dl Z ddlmZ G dd dejZdS )    N   )ContainerIOc                       s8   e Zd ZdZ fddZdd Zdd Zdd	 Z  ZS )
TarIOzHA file object that provides read access to a given member of a TAR file.c                    s   t |d| _	 | jd}t|dkrtd|dd d}|d}|d	kr-td
|d	kr7|d| }t|dd d}||krEn| j|d d@ t	j
 qt | j| j | dS )zz
        Create file object.

        :param tarfile: Name of TAR file.
        :param file: Name of member file.
        rbTi   zunexpected end of tar fileNd   zutf-8 r   zcannot find subfile|         i  i )openfhreadlenOSErrordecodefindintseekioSEEK_CURsuper__init__tell)selftarfilefilesnameisize	__class__ Q/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/PIL/TarIO.pyr      s"   
zTarIO.__init__c                 C   s   | S Nr"   r   r"   r"   r#   	__enter__:   s   zTarIO.__enter__c                 G   s   |    d S r$   )close)r   argsr"   r"   r#   __exit__=   s   zTarIO.__exit__c                 C   s   | j   d S r$   )r   r'   r%   r"   r"   r#   r'   @   s   zTarIO.close)	__name__
__module____qualname____doc__r   r&   r)   r'   __classcell__r"   r"   r    r#   r      s    !r   )r    r   r   r"   r"   r"   r#   <module>   s   