a
    ¨º”hÊ  ã                   @  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œ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 )é    )ÚannotationsN)ÚIOé   )ÚImageÚ	ImageFileúImageFile.StubHandler | NoneÚNone)ÚhandlerÚreturnc                 C  s   | a dS )z_
    Install application-specific GRIB image handler.

    :param handler: Handler object.
    N©Ú_handler)r	   © r   úE/var/www/auris/lib/python3.9/site-packages/PIL/GribStubImagePlugin.pyÚregister_handler   s    r   ÚbytesÚbool)Úprefixr
   c                 C  s   |   d¡o| d dkS )Ns   GRIBé   r   )Ú
startswith)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 )
ÚGribStubImageFileZGRIBr   )r
   c                 C  sR   t | j d¡ƒsd}t|ƒ‚| j dtj¡ d| _d| _|  	¡ }|rN| 
| ¡ d S )Né   zNot a GRIB fileiøÿÿÿÚF)r   r   )r   ÚfpÚreadÚSyntaxErrorÚseekÚosÚSEEK_CURÚ_modeÚ_sizeÚ_loadÚopen)ÚselfÚmsgÚloaderr   r   r   Ú_open+   s    zGribStubImageFile._openr   c                 C  s   t S )Nr   )r#   r   r   r   r!   :   s    zGribStubImageFile._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 u stt dƒsd}t|ƒ‚t  | ||¡ d S )NÚsavezGRIB save handler not installed)r   ÚhasattrÚOSErrorr.   )r,   r   r-   r$   r   r   r   Ú_save>   s    r1   z.grib)Ú
__future__r   r   Útypingr   Ú r   r   r   r   r   ZStubImageFiler   r1   Zregister_openr*   Zregister_saveZregister_extensionr   r   r   r   Ú<module>   s   
