B
    àz÷bF	  ã               @   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	   ú1lib/python3.7/site-packages/PIL/MicImagePlugin.pyÚ_accept   s    r   c               @   s0   e Zd ZdZdZdZdd„ Zdd„ Zdd	„ Zd
S )ÚMicImageFileZMICzMicrosoft Image ComposerFc          
   C   sâ   yt  | j¡| _W n, tk
r> } ztdƒ|‚W d d }~X Y nX g | _xJ| j ¡ D ]<}|dd … rR|d dd … dkrR|d dkrR| j |¡ qRW | js tdƒ‚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Ú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 y| j| }W n, tk
rH } ztdƒ|‚W d 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   J   s    
zMicImageFile.seekc             C   s   | j S )N)r   )r   r	   r	   r
   ÚtellX   s    zMicImageFile.tellN)	Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionZ!_close_exclusive_fp_after_loadingr   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
   ;