o
    ⹏i                     @  s   d dl mZ d dlZd dlmZ ddlmZmZ dadd
dZ	dddZ
G dd dejZdddZeejee
 eeje eejd dS )    )annotationsN)IO   )Image	ImageFilehandlerImageFile.StubHandler | NonereturnNonec                 C  s   | a dS )z_
    Install application-specific BUFR image handler.

    :param handler: Handler object.
    N_handler)r    r   T/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/PIL/BufrStubImagePlugin.pyregister_handler   s   r   prefixbytesboolc                 C  s
   |  dS )N)s   BUFRs   ZCZC)
startswith)r   r   r   r   _accept#   s   
r   c                   @  s(   e Zd ZdZdZd
ddZdddZd	S )BufrStubImageFileBUFRr	   r
   c                 C  sd   | j d usJ t| j dsd}t|| j dtj d| _d| _| 	 }|r0|
|  d S d S )N   zNot a BUFR fileF)r   r   )fpr   readSyntaxErrorseekosSEEK_CUR_mode_size_loadopen)selfmsgloaderr   r   r   _open+   s   zBufrStubImageFile._openr   c                 C  s   t S )Nr   )r$   r   r   r   r"   ;   s   zBufrStubImageFile._loadN)r	   r
   )r	   r   )__name__
__module____qualname__formatformat_descriptionr'   r"   r   r   r   r   r   '   s
    
r   imImage.Imager   	IO[bytes]filenamestr | bytesc                 C  s0   t d u s	tt dsd}t|t | || d S )NsavezBUFR save handler not installed)r   hasattrOSErrorr2   )r-   r   r0   r%   r   r   r   _save?   s   r5   z.bufr)r   r   r	   r
   )r   r   r	   r   )r-   r.   r   r/   r0   r1   r	   r
   )
__future__r   r   typingr    r   r   r   r   r   StubImageFiler   r5   register_openr+   register_saveregister_extensionr   r   r   r   <module>   s   




