o
    á©ZhÓ  ã                   @  sŒ   d dl m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 )é    )Úannotations)ÚIOé   )ÚImageÚ	ImageFileNÚ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   úN/var/www/html/lang_env/lib/python3.10/site-packages/PIL/GribStubImagePlugin.pyÚregister_handler   s   r   ÚprefixÚbytesÚboolc                 C  s   | d d… dko| d dkS )Né   s   GRIBé   r   r   )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 )ÚGribStubImageFileZGRIBr	   r
   c                 C  s\   | j  ¡ }t| j  d¡ƒsd}t|ƒ‚| j  |¡ d| _d| _|  ¡ }|r,| 	| ¡ d S d S )Né   zNot a GRIB fileÚF)r   r   )
ÚfpÚtellr   ÚreadÚSyntaxErrorÚseekÚ_modeÚ_sizeÚ_loadÚopen)ÚselfÚoffsetÚmsgÚloaderr   r   r   Ú_open*   s   
ÿzGribStubImageFile._openr   c                 C  s   t S )Nr   )r"   r   r   r   r    ;   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   Útypingr   Ú r   r   r   r   r   ZStubImageFiler   r4   Zregister_openr*   Zregister_saveZregister_extensionr   r   r   r   Ú<module>   s   




