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 GRIB image handler.

    :param handler: Handler object.
    N©Ú_handler)r   © r   úU/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/PIL/GribStubImagePlugin.pyÚregister_handler   s   r   ÚprefixÚbytesÚboolc                 C  s"   t | ƒdko|  d¡o| d dkS )Né   s   GRIBé   r   )ÚlenÚ
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 )ÚGribStubImageFileÚGRIBr	   r
   c                 C  sJ   | j d usJ ‚t| j  d¡ƒsd}t|ƒ‚| j  dtj¡ d| _d| _d S )Nr   zNot a GRIB fileiøÿÿÿÚF)r   r   )	Úfpr   ÚreadÚSyntaxErrorÚseekÚosÚSEEK_CURÚ_modeÚ_size)ÚselfÚmsgr   r   r   Ú_open+   s   
zGribStubImageFile._openr   c                 C  s   t S )Nr   )r#   r   r   r   Ú_load7   s   zGribStubImageFile._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GRIB save handler not installed)r   ÚhasattrÚOSErrorr1   )r,   r   r/   r$   r   r   r   Ú_save;   s   r4   z.grib)r   r   r	   r
   )r   r   r	   r   )r,   r-   r   r.   r/   r0   r	   r
   )Ú
__future__r   r   Útypingr   Ú r   r   r   r   r   ÚStubImageFiler   r4   Úregister_openr*   Úregister_saveÚregister_extensionr   r   r   r   Ú<module>   s   




