U
    Z$d  ã                   @   sn   d dl mZmZ dadd„ Zdd„ ZG dd„ dejƒZd	d
„ Ze 	ej
ee¡ e ej
e¡ e ej
d¡ dS )é   )ÚImageÚ	ImageFileNc                 C   s   | a dS )z_
    Install application-specific BUFR image handler.

    :param handler: Handler object.
    N©Ú_handler)Úhandler© r   ú;/tmp/pip-unpacked-wheel-s9vr6rj9/PIL/BufrStubImagePlugin.pyÚregister_handler   s    r	   c                 C   s    | d d… dkp| d d… dkS )Né   s   BUFRs   ZCZCr   )Úprefixr   r   r   Ú_accept   s    r   c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚBufrStubImageFileZBUFRc                 C   sX   | j  ¡ }t| j  d¡ƒs&d}t|ƒ‚| j  |¡ d| _d| _|  ¡ }|rT| 	| ¡ d S )Nr
   zNot a BUFR fileÚF)r   r   )
ÚfpÚtellr   ÚreadÚSyntaxErrorÚseekÚmodeÚ_sizeÚ_loadÚopen)ÚselfÚoffsetÚmsgÚloaderr   r   r   Ú_open(   s    
zBufrStubImageFile._openc                 C   s   t S )Nr   )r   r   r   r   r   :   s    zBufrStubImageFile._loadN)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr   r   r   r   r   r   r   #   s   r   c                 C   s0   t d kstt dƒsd}t|ƒ‚t  | ||¡ d S )NÚsavezBUFR save handler not installed)r   ÚhasattrÚOSErrorr"   )Zimr   Úfilenamer   r   r   r   Ú_save>   s    r&   z.bufr)Ú r   r   r   r	   r   ZStubImageFiler   r&   Zregister_openr    Zregister_saveZregister_extensionr   r   r   r   Ú<module>   s   
