o
    'j6hÊ  ã                   @  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   úf/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/PIL/GribStubImagePlugin.pyÚregister_handler   s   r   ÚprefixÚbytesÚboolc                 C  s   |   d¡o
| d dkS )Ns   GRIBé   r   )Ú
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  sV   t | j d¡ƒsd}t|ƒ‚| j dtj¡ d| _d| _|  	¡ }|r)| 
| ¡ d S 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)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ÚOSErrorr2   )r-   r   r0   r%   r   r   r   Ú_save>   s   r5   z.grib)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   




