B
    1\h
                 @   sX   d dl mZmZ ddlZdZdd ZG dd dejZeej	ee e
ej	d	 dS )
   )ImageTiffImagePlugin    Nz0.1c             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               @   sP   e Zd ZdZdZdZdd Zedd Zed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.   tdY nX g | _xJ| j D ]<}|dd  rB|d dd  dkrB|d dkrB| j| qBW | jstd| j| _	d | _
t| jdkrt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IOErrorSyntaxErrorimageslistdirappend_MicImageFile__fpframelenr   Z	CONTAINERcategoryseek)selfpathr	   r	   r
   _open,   s    ,zMicImageFile._openc             C   s
   t | jS )N)r   r   )r   r	   r	   r
   n_framesK   s    zMicImageFile.n_framesc             C   s   t | jdkS )Nr   )r   r   )r   r	   r	   r
   is_animatedO   s    zMicImageFile.is_animatedc             C   s^   |  |sd S y| j| }W n tk
r8   td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   S   s    
zMicImageFile.seekc             C   s   | j S )N)r   )r   r	   r	   r
   tella   s    zMicImageFile.tellc             C   sB   z4y| j | jkr| j   W n tk
r0   Y nX W d d | _ X d S )N)r   r   closeAttributeError)r   r	   r	   r
   
_close__fpd   s    
zMicImageFile._close__fpN)__name__
__module____qualname__formatZformat_descriptionZ!_close_exclusive_fp_after_loadingr   propertyr   r   r   r#   r&   r	   r	   r	   r
   r   &   s   r   z.mic) r   r   r   __version__r   r!   r   Zregister_openr*   Zregister_extensionr	   r	   r	   r
   <module>   s   K