o
    f                     @  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g dS )     )annotations)IO   )Image	ImageFileNhandlerImageFile.StubHandler | NonereturnNonec                 C  s   | a dS )z_
    Install application-specific HDF5 image handler.

    :param handler: Handler object.
    N_handler)r    r   P/home/ubuntu/webapp/venv/lib/python3.10/site-packages/PIL/Hdf5StubImagePlugin.pyregister_handler   s   r   prefixbytesboolc                 C  s   | d d dkS )N   s   HDF

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 )HDF5StubImageFileHDF5r	   r
   c                 C  s\   | j  }t| j dsd}t|| j | d| _d| _|  }|r,|	|  d S d S )Nr   zNot an HDF fileF)r   r   )
fptellr   readSyntaxErrorseek_mode_size_loadopen)selfoffsetmsgloaderr   r   r   _open*   s   
zHDF5StubImageFile._openr   c                 C  s   t S )Nr   )r!   r   r   r   r   ;   s   zHDF5StubImageFile._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HDF5 save handler not installed)r   hasattrOSErrorr0   )r+   r   r.   r#   r   r   r   _save?   s   r3   z.h5z.hdf)r   r   r	   r
   )r   r   r	   r   )r+   r,   r   r-   r.   r/   r	   r
   )
__future__r   typingr    r   r   r   r   r   StubImageFiler   r3   register_openr)   register_saveregister_extensionsr   r   r   r   <module>   s   




