
    	h                         S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
Jr  S SKJr  S SKJrJr  S SKJr  SS	 jrSS
 jrSS jr\(       a  \rg\rg)    )safe_string)Element
SubElement
whitespaceXML_NS)LXML)to_excel
to_ISO8601)	timedelta)DataTableFormulaArrayFormula)CellRichTextNc                    U R                   nSU0nU(       a  U R                   US'   U R                  S:X  a  SUS'   OU R                  S:w  a  U R                  US'   U R                  nU R                  S:X  a  [	        US5      (       a  UR
                  b  [        S5      eU R                  R                  R                  (       a!  [        U[        5      (       d  [        U5      nO.S	US'   [        X@R                  R                  R                  5      nU R                  (       a/  U R                  R                  R!                  U R                  5        XC4$ )
z
Set coordinate and datatype
rs	inlineStrtfdtzinfozjExcel does not support timezones in datetimes. The tzinfo in the datetime/time object must be set to None.n)
coordinatestyle_id	data_type_valuehasattrr   	TypeErrorparent	iso_dates
isinstancer   r
   r	   epoch	hyperlink_hyperlinksappend)cellstyledr   attrsvalues        G/var/www/html/env/lib/python3.13/site-packages/openpyxl/cell/_writer.py_set_attributesr*      s    J*Ec
~~ c
	3	^^c
KKE~~5(##(@ R S S ;;''
5)0L0Lu%EE#JUKK$6$6$<$<=E~~&&t~~6<    c                    [        X#5      u  pE[        SU5      nUb  US:X  a  U R                  U5        g UR                  S:X  a  0 n[	        U[
        5      (       a  [        U5      nUR                  nO"[	        U[        5      (       a  [        U5      nS n[        USU5      nUb!  UR                  S5      S:X  d  USS  Ul        S nUR                  S:X  a  [	        U[        5      (       a   UR                  UR                  5       5        Oi[        S5      n	[        S5      n
XJl        [        U
5        U	R                  U
5        UR                  U	5        O[        US	5      nUb  [        U5      Ul        U R                  U5        g )
Nc r   r   	dataTable   r   isv)r*   r   writer   r    r   dicttextr   r   getr   r$   to_treer   r   )xf	worksheetr%   r&   r(   
attributeselattribformulainline_stringr5   cell_contents               r)   etree_write_cellr@   -   sE   '5E	j	!B}
~~e\**%[FJJE/00%[FERf-VZZ_%C 9GLE~~e\**IIemmo&#DMM3<DIt  &IIm$ ""c* +E 2LHHRLr+   c                    [        X#5      u  pEUS:X  d  Uc  U R                  SU5          S S S 5        g U R                  SU5         UR                  S:X  a  0 n[        U[        5      (       a  [        U5      nUR                  nO"[        U[        5      (       a  [        U5      nS nU R                  SU5         Ub+  UR                  S5      S:X  d  U R                  USS  5        S nS S S 5        UR                  S:X  a  [        U[        5      (       a"  UR                  5       nU R                  U5        OU R                  S5         [        U[        5      (       aD  0 nXDR                  5       :w  a  S	US
[        -  '   [        SU5      nXGl        U R                  U5        S S S 5        O7U R                  S5         Ub  U R                  [!        U5      5        S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N;= f! , (       d  f       NL= f! , (       d  f       g = f)Nr.   r-   r   r   r/   r0   r   r1   preservez	{%s}spacer2   )r*   elementr   r    r   r4   r5   r   r6   r3   r   r7   strstripr   r   r   )	r8   r9   r%   r&   r(   r:   r<   r;   r'   s	            r)   lxml_write_cellrF   Y   s   '5E{emZZZ( )( 
C	$>>S F%..e

E#344eC($VZZ_-KHHU12Y' E )
 >>S %..]]_ZZ%!%-- " KKM1:DE+"67$S%0"' &% C$HH[/0 !A 
%	$ )( )( &% !A 
%	$sb   G,A4H2:/G>)A H2	AH#H2=H!H2,
G;>
H	H2
H	H2!
H/	+H22
I )N)F)openpyxl.compatr   openpyxl.xml.functionsr   r   r   r   openpyxlr   openpyxl.utils.datetimer	   r
   datetimer   openpyxl.worksheet.formular   r   openpyxl.cell.rich_textr   r*   r@   rF   
write_cell r+   r)   <module>rP      s@    ( J J  8  E 0B)X)1X  J!Jr+   