a
    ¨º”h¢  ã                   @  s:   d dl mZ d dlZddlmZ G dd„ deje ƒZdS )é    )ÚannotationsNé   )ÚContainerIOc                      s*   e Zd ZdZddddœ‡ fdd„Z‡  ZS )ÚTarIOzHA file object that provides read access to a given member of a TAR file.ÚstrÚNone)ÚtarfileÚfileÚreturnc                   sÚ   t |dƒ| _| j d¡}t|ƒdkr:| j ¡  d}t|ƒ‚|dd…  d¡}| d¡}|dkrt| j ¡  d	}t|ƒ‚|dkrˆ|d|… }t|d
d… dƒ}||kr¤q¾| 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.
        Úrbi   zunexpected end of tar fileNéd   zutf-8ú r   zcannot find subfileé|   é‡   é   iÿ  i þÿÿ)ÚopenÚfhÚreadÚlenÚcloseÚOSErrorÚdecodeÚfindÚintÚseekÚioÚSEEK_CURÚsuperÚ__init__Útell)Úselfr   r	   ÚsÚmsgÚnameÚiÚsize©Ú	__class__© ú7/var/www/auris/lib/python3.9/site-packages/PIL/TarIO.pyr      s&    


zTarIO.__init__)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__r(   r(   r&   r)   r      s   r   )Ú
__future__r   r   Ú r   Úbytesr   r(   r(   r(   r)   Ú<module>   s   