
    f	                         d Z ddlZddlmZ ddlmZmZmZmZ  ej                  dd      Z
e
j                   ej                  ddd              G d	 d
      Zy)z Tablib - ODF Support.
    N)BytesIO)opendocumentstyletabletextbold	paragraph)namefamily)
fontweightfontweightasianfontweightcomplexc                   T    e Zd ZdZdZed        Zed        Zed        Zed        Z	y)	ODSFormatods)r   c                 t   t        j                         }|j                  j                  t               t        j                  |j                  r|j                  nd      }|j                  j                  |       | j                  ||       t               }|j                  |       |j                         S )z&Returns ODF representation of Dataset.zTablib Datasetr
   )r   OpenDocumentSpreadsheetautomaticstyles
addElementr   r   Tabletitlespreadsheet
dset_sheetr   savegetvalue)clsdatasetwbwsstreams        :D:\switchATM\venv\Lib\site-packages\tablib/formats/_ods.py
export_setzODSFormat.export_set   s     113
%%d+[[w}}gmmBRS
!!"%w#
      c                    t        j                         }|j                  j                  t               t        |j                        D ]c  \  }}t        j                  |j                  r|j                  nd|z        }|j                  j                  |       | j                  ||       e t               }|j                  |       |j                         S )z'Returns ODF representation of DataBook.zSheet%sr   )r   r   r   r   r   	enumerate	_datasetsr   r   r   r   r   r   r   r   )r   databookr   idsetr    r!   s          r"   export_bookzODSFormat.export_book$   s     113
%%d+ !3!34 	%GAt

$**	QPBNN%%b)NN4$	%
 
  r$   c           	         |j                  d      }t        |j                        D ]#  \  }}|}|j                  |d   |z   |d   f       % t        |d      D ]  \  }}|dk(  xr |j                  }	|	rt
        nd}
t        j                  |
      }|j                  |       t        |      D ]  \  }}t        |t        j                        rt        j                  d|	      }nEt        j                  d
      }|j                  t        j                  t        |      |
             |j                  |         y)z-Completes given worksheet from given Dataset.F)dictsr      )startN)	stylenamefloat)	valuetypevaluestring)r2   )r   r0   )_packager&   _separatorsinsertheadersr   r   TableRowr   
isinstancenumbersNumber	TableCellr   Pstr)r   r   r    r5   r)   sep_offset
row_numberrow	is_headerr   odf_rowjcolcells                  r"   r   zODSFormat.dset_sheet4   s    ##%#0 3 34 	;FAsGOOSVg-Q	:	;  ); 	)OJ"a;GOOI%D4Ennu5GMM'"#C. )3c7>>2 ??WCHD ??X>DOODFFCE$JK""4()	)r$   c                     t        |t              rt        |      }	 t        j                  |       y# t
        $ r Y yw xY w)NTF)r:   bytesr   r   load	Exception)r   r!   s     r"   detectzODSFormat.detectJ   s=    fe$V_F	f% 		s   3 	??N)
__name__
__module____qualname__r   
extensionsclassmethodr#   r+   r   rM    r$   r"   r   r      sZ    EJ! ! ! ! ) )*  r$   r   )__doc__r;   ior   odfr   r   r   r   Styler   r   TextPropertiesr   rS   r$   r"   <module>rY      s[      0 0u{{{3 $$$ B Br$   