o
    h/
                     @   sT   d dl Z ddlmZmZ dd ZG dd dejZeejee e	ejd dS )	    N   )ImageTiffImagePluginc                 C   s   | d d t jkS )N   )olefileMAGIC)prefix r	   Z/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/PIL/MicImagePlugin.py_accept   s   r   c                   @   s8   e Zd ZdZdZdZdd Zdd Zdd	 Zd
d Z	dS )MicImageFileZMICzMicrosoft Image ComposerFc              
   C   s   z	t | j| _W n ty } ztd|d }~ww g | _| j D ]}|dd  rA|d dd  dkrA|d dkrA| j| q#| jsItd| j| _	d | _
t| j| _| jdk| _t| jdkrgtj| _| d d S )Nz!not an MIC file; invalid OLE filer   r   z.ACIr   z!not an MIC file; no image entries)r   Z	OleFileIOfpoleOSErrorSyntaxErrorimageslistdirappend_MicImageFile__fpframelenZ	_n_framesZis_animatedr   Z	CONTAINERZ	_categoryseek)selfepathr	   r	   r
   _open*   s(   
,zMicImageFile._openc              
   C   sd   |  |sd S z| j| }W n ty } ztd|d }~ww | j|| _tj	|  || _
d S )Nzno such frame)Z_seek_checkr   
IndexErrorEOFErrorr   Z
openstreamr   r   TiffImageFiler   r   )r   r   filenamer   r	   r	   r
   r   K   s   


zMicImageFile.seekc                 C   s   | j S N)r   r   r	   r	   r
   tellY   s   zMicImageFile.tellc                 C   sP   z#z| j | jkr| j   W n	 ty   Y nw W d | _ d S W d | _ d S d | _ w r!   )r   r   closeAttributeErrorr"   r	   r	   r
   
_close__fp\   s   

zMicImageFile._close__fpN)
__name__
__module____qualname__formatformat_descriptionZ!_close_exclusive_fp_after_loadingr   r   r#   r&   r	   r	   r	   r
   r   $   s    !r   z.mic)
r    r   r   r   r   r   Zregister_openr*   Zregister_extensionr	   r	   r	   r
   <module>   s   E