o
    „s¢Yì  ã                   @   s”   d Z ddlZddlmZmZ ddlZddlZddlZddlm	Z	 dZ
dZe d¡Ze d¡Zd	d
„ Zdd„ Zdd„ Zddd„Zddd„Zdd„ ZdS )z Tablib - XLS Support.
é    N)ÚBytesIOÚxrange)Ú	XLRDErrorÚxls)r   zalignment: wrap onzfont: bold onc              	   C   sx   z	t j| d� W dS  ttfy   Y nw zt j|  ¡ d� W dS  ttfy+   Y nw z	t j| d� W dS    Y dS )z6Returns True if given stream is a readable excel file.©Úfile_contentsT)ÚfilenameF)ÚxlrdÚopen_workbookÚ	TypeErrorr   ÚreadÚAttributeError)Ústream© r   úE/var/www/html/env/lib/python3.10/site-packages/tablib/formats/_xls.pyÚdetect   s"   ÿÿr   c                 C   sD   t jdd�}| | jr| jnd¡}t| |ƒ tƒ }| |¡ | ¡ S )z&Returns XLS representation of Dataset.Úutf8©ÚencodingzTablib Dataset)ÚxlwtÚWorkbookÚ	add_sheetÚtitleÚ
dset_sheetr   ÚsaveÚgetvalue)ÚdatasetÚwbÚwsr   r   r   r   Ú
export_set)   s   

r   c                 C   s\   t jdd�}t| jƒD ]\}}| |jr|jnd| ¡}t||ƒ qtƒ }| |¡ | 	¡ S )z'Returns XLS representation of DataBook.r   r   zSheet%s)
r   r   Ú	enumerateÚ	_datasetsr   r   r   r   r   r   )Údatabookr   ÚiÚdsetr   r   r   r   r   Úexport_book6   s   
r%   Tc                 C   sd   |   ¡  tj|d�}| d¡}|j| _t|jƒD ]}|dkr'|r'| d¡| _	q|  
| |¡¡ qdS ©z!Returns databook from XLS stream.r   r   N)Úwiper	   r
   Úsheet_by_indexÚnamer   r   ÚnrowsÚ
row_valuesÚheadersÚappend)r$   Ú	in_streamr,   Úxls_bookÚsheetr#   r   r   r   Ú
import_setF   s   
ür1   c                 C   sz   |   ¡  tj|d�}| ¡ D ],}t ¡ }|j|_t|j	ƒD ]}|dkr,|r,| 
d¡|_q| | 
|¡¡ q|  |¡ qdS r&   )r'   r	   r
   ÚsheetsÚtablibÚDatasetr)   r   r   r*   r+   r,   r-   r   )Údbookr.   r,   r/   r0   Údatar#   r   r   r   Úimport_bookV   s   ör7   c           	   
   C   sþ   | j dd�}t| jƒD ]\}}|}| |d | |d f¡ qt|ƒD ]Y\}}t|ƒD ]P\}}|dkrE| jrE| |||t¡ d|_d|_q+t	|ƒ| j
k rU| |||t¡ q+zd|v rc| |||t¡ n| |||¡ W q+ ty{   | |||¡ Y q+w q#dS )z-Completes given worksheet from given Dataset.F)Údictsr   é   TÚ
N)Ú_packager    Ú_separatorsÚinsertr,   ÚwriteÚboldÚpanes_frozenÚhorz_split_posÚlenÚwidthÚwrapr   )	r   r   r;   r#   ÚsepÚ_offsetÚrowÚjÚcolr   r   r   r   j   s,   €ÿêÿr   )T)Ú__doc__ÚsysÚtablib.compatr   r   r3   r	   r   Ú
xlrd.biffhr   r   Ú
extensionsÚeasyxfrD   r?   r   r   r%   r1   r7   r   r   r   r   r   Ú<module>   s"   



