U
    Å½„b/
  ã                   @   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	   ú6/tmp/pip-unpacked-wheel-_wxctax1/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k
r> } ztdƒ|‚W 5 d }~X Y nX g | _| j ¡ D ]<}|dd … rP|d dd … dkrP|d dkrP| j |¡ qP| jsœtdƒ‚| j| _	d | _
t| jƒ| _| jdk| _t| jƒdkrØt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   sn   |   |¡sd S z| j| }W n, tk
rH } ztdƒ|‚W 5 d }~X Y nX | 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   sB   z4z| j | jkr| j  ¡  W n tk
r0   Y nX W 5 d | _ X d S 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