U
    \$d                     @   sR   d dl mZ zd dlmZ W n ek
r4   dZY nX 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	   :/tmp/pip-unpacked-wheel-dtxbr_v9/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   sb   || _ t|t}t|}|j\| _| _z|j | _W n t	k
rP   d| _Y nX |r^|
  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   sZ   t | j}| jdkr(|jd |j}n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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   ZPILr   r   r   r   objectr	   r	   r	   r
   <module>   s   

