U
    ?h                     @  s   d dl mZ d dlmZ ddlmZmZ dadddd	d
ZdddddZ	G dd dej
ZdddddddZeejee	 eeje eejd dS )    )annotations)IO   )Image	ImageFileNImageFile.StubHandler | NoneNone)handlerreturnc                 C  s   | a dS )z_
    Install application-specific BUFR image handler.

    :param handler: Handler object.
    N_handler)r	    r   I/var/www/html/venv/lib/python3.8/site-packages/PIL/BufrStubImagePlugin.pyregister_handler   s    r   bytesbool)prefixr
   c                 C  s    | d d dkp| d d dkS )N   s   BUFRs   ZCZCr   )r   r   r   r   _accept"   s    r   c                   @  s0   e Zd ZdZdZddddZddddZd	S )
BufrStubImageFileZBUFRr   )r
   c                 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._openr   c                 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   zImage.Imagez	IO[bytes]zstr | bytes)imr   filenamer
   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,   )r*   r   r+   r"   r   r   r   _save?   s    r/   z.bufr)
__future__r   typingr    r   r   r   r   r   ZStubImageFiler   r/   Zregister_openr(   Zregister_saveZregister_extensionr   r   r   r   <module>   s   
