
    h4h                    *   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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)    )annotationsN)IO   )Image	ImageFilec                    | a y)z_
    Install application-specific GRIB image handler.

    :param handler: Handler object.
    N_handler)handlers    O/var/www/flask-api/venv/lib/python3.12/site-packages/PIL/GribStubImagePlugin.pyregister_handlerr      s	     H    c                X    t        |       dk\  xr | j                  d      xr | d   dk(  S )N   s   GRIB   r   )len
startswith)prefixs    r   _acceptr   #   s.    v;!M 1 1' :MvayA~Mr   c                  $    e Zd ZdZdZddZddZy)GribStubImageFileGRIBc                   t        | j                  j                  d            sd}t        |      | j                  j	                  dt
        j                         d| _        d| _        | j                         }|r|j                  |        y y )Nr   zNot a GRIB fileiF)r   r   )r   fpreadSyntaxErrorseekosSEEK_CUR_mode_size_loadopen)selfmsgloaders      r   _openzGribStubImageFile._open+   sk    tww||A'#Cc""R% 

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   '   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OSErrorr4   )imr   filenamer&   s       r   _saver9   >   s0    wx8/clMM"b(#r   z.grib)r   r,   r*   r+   )r   bytesr*   bool)r7   zImage.Imager   z	IO[bytes]r8   zstr | bytesr*   r+   )
__future__r   r   typingr    r   r   r
   r   r   StubImageFiler   r9   register_openr0   register_saveregister_extensionr2   r   r   <module>rC      s    # 	  N	// .$   %,,.? I   %,,e 4   *117 ;r   