
    Bwg                    "   d dl mZ d dlmZ ddlmZmZ daddZddZ	 G d d	ej                        Zdd
Z ej                  ej                  ee	        ej                  ej                  e        ej                   ej                  d       y)    )annotations)IO   )Image	ImageFileNc                    | a y)z_
    Install application-specific GRIB image handler.

    :param handler: Handler object.
    N_handler)handlers    N/var/www/horilla/myenv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.pyregister_handlerr      s	     H    c                &    | d d dk(  xr | d   dk(  S )N   s   GRIB   r    )prefixs    r   _acceptr   "   s     "1: 3VAY!^3r   c                  $    e Zd ZdZdZddZddZy)GribStubImageFileGRIBc                4   | j                   j                         }t        | j                   j                  d            sd}t	        |      | j                   j                  |       d| _        d| _        | j                         }|r|j                  |        y y )N   zNot a GRIB fileF)r   r   )
fptellr   readSyntaxErrorseek_mode_size_loadopen)selfoffsetmsgloaders       r   _openzGribStubImageFile._open*   st    tww||A'#Cc""V 

KK r   c                    t         S )Nr	   )r$   s    r   r"   zGribStubImageFile._load;   s    r   N)returnNone)r*   ImageFile.StubHandler | None)__name__
__module____qualname__formatformat_descriptionr(   r"   r   r   r   r   r   &   s    F"r   r   c                x    t         t        t         d      sd}t        |      t         j                  | ||       y )NsavezGRIB save handler not installed)r
   hasattrOSErrorr3   )imr   filenamer&   s       r   _saver8   ?   s0    wx8/clMM"b(#r   z.grib)r   r,   r*   r+   )r   bytesr*   bool)r6   zImage.Imager   z	IO[bytes]r7   zstr | bytesr*   r+   )
__future__r   typingr    r   r   r
   r   r   StubImageFiler   r8   register_openr0   register_saveregister_extensionr   r   r   <module>rB      s    #  4	// 2$   %,,.? I   %,,e 4   *117 ;r   