o
    b                     @   sP   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e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	   U/var/www/secure340b-portal/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   Zmark_to_closeimager	   r	   r
   __init__   s   

zImage.__init__c                 C   sT   t | j}| jdv r|jd |j}| S t }|j|dd |d | S )zL
        Return image data, convert to supported types if necessary
        )ZgifZjpegr   r   r   )r   )r   r   r   fpseekr   saveread)r   r   r   r	   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   ZPILr   r   r   r   objectr	   r	   r	   r
   <module>   s   
