3

‡ÂZ¦  ã               @   sd   d dl mZmZ dZdd„ Zdd„ ZG dd„ dejƒZejej	eƒ ej
ej	d	ƒ ejej	d
ƒ dS )é   )ÚImageÚJpegImagePluginz0.1c             C   s
   t j| ƒS )N)r   Ú_accept)Úprefix© r   ú4/usr/lib/python3/dist-packages/PIL/MpoImagePlugin.pyr      s    r   c             C   s   t j| ||ƒS )N)r   Ú_save)ZimÚfpÚfilenamer   r   r   r      s    r   c               @   sP   e Zd ZdZdZdZdd„ Zdd„ Zedd	„ ƒZ	ed
d„ ƒZ
dd„ Zdd„ ZdS )ÚMpoImageFileZMPOzMPO (CIPA DC-007)Fc                sž   ˆ j jdƒ tjjˆ ƒ ˆ jƒ ˆ _ˆ jd ˆ _‡ fdd„ˆ jd D ƒˆ _dˆ jd< ˆ jt	ˆ jƒksft
‚ˆ jd= ˆ j ˆ _ˆ jjˆ jd ƒ dˆ _dˆ _dˆ _d S )Né    i°  c                s   g | ]}|d  ˆ j d  ‘qS )Z
DataOffsetÚmpoffset)Úinfo)Ú.0Zmpent)Úselfr   r   ú
<listcomp>1   s   z&MpoImageFile._open.<locals>.<listcomp>i°  r   r   )r	   Úseekr   ÚJpegImageFileÚ_openZ_getmpZmpinfoÚ_MpoImageFile__framecountÚ_MpoImageFile__mpoffsetsÚlenÚAssertionErrorr   Ú_MpoImageFile__fpÚ_MpoImageFile__frameÚoffsetÚreadonly)r   r   )r   r   r   ,   s    


zMpoImageFile._openc             C   s   | j j|ƒ d S )N)r   r   )r   Úposr   r   r   Ú	load_seek?   s    zMpoImageFile.load_seekc             C   s   | j S )N)r   )r   r   r   r   Ún_framesB   s    zMpoImageFile.n_framesc             C   s
   | j dkS )Nr   )r   )r   r   r   r   Úis_animatedF   s    zMpoImageFile.is_animatedc             C   sJ   | j |ƒsd S | j| _| j| | _dd| j | j| jdffg| _|| _d S )NZjpegr   Ú )r   r   )	Z_seek_checkr   r	   r   r   ÚsizeÚmodeZtiler   )r   Úframer   r   r   r   J   s    
zMpoImageFile.seekc             C   s   | j S )N)r   )r   r   r   r   ÚtellT   s    zMpoImageFile.tellN)Ú__name__Ú
__module__Ú__qualname__ÚformatZformat_descriptionZ!_close_exclusive_fp_after_loadingr   r   Úpropertyr   r    r   r%   r   r   r   r   r   &   s   
r   z.mpoz	image/mpoN)r!   r   r   Ú__version__r   r   r   r   Zregister_saver)   Zregister_extensionZregister_mimer   r   r   r   Ú<module>   s   9