o
    g                     @   sN   d dl mZ zd dlmZ W n ey   dZY nw dd ZG dd dZdS )	    )BytesIO)ImageFc                 C   s&   t stdt| t jst | } | S )Nz.You must install Pillow to fetch image objects)PILImageImportError
isinstancer   open)img r	   P/var/www/html/api-tag/env/lib/python3.10/site-packages/openpyxl/drawing/image.py_import_image   s
   
r   c                   @   s8   e Zd ZdZdZdZdZdd Zdd Ze	d	d
 Z
dS )r   zImage in a spreadsheet   z/xl/media/image{0}.{1}A1c                 C   sd   || _ t|t}t|}|j\| _| _z|j | _W n t	y'   d| _Y nw |r0|
  d S d S )Npng)refr   strr   sizewidthheightformatlowerAttributeErrorclose)selfr   mark_to_closeimager	   r	   r
   __init__   s   

zImage.__init__c                 C   sZ   t | j}| jdv r|jd |j}nt }|j|dd |d | }|  |S )zL
        Return image data, convert to supported types if necessary
        )gifjpegr   r   r   )r   )	r   r   r   fpseekr   savereadr   )r   r   r   datar	   r	   r
   _data,   s   


zImage._datac                 C   s   | j | j| jS )N)_pathr   _id)r   r	   r	   r
   path?   s   z
Image.pathN)__name__
__module____qualname____doc__r%   r$   anchorr   r#   propertyr&   r	   r	   r	   r
   r      s    r   N)ior   PILr   r   r   r   r	   r	   r	   r
   <module>   s   
