
    NqhV                         d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZmZ d dlmZ dd	Zdd
ZddZe	reZyeZy)    )safe_string)Element
SubElement
whitespaceXML_NSREL_NS)LXML)to_excel
to_ISO8601)	timedelta)DataTableFormulaArrayFormula)	TextBlockNc                 |   | j                   }d|i}|r| j                   |d<   | j                  dk(  rd|d<   n| j                  dk7  r| j                  |d<   | j                  }| j                  dk(  rt	        |d      r|j
                  t        d      | j                  j                  j                  rt        |t              st        |      }n/d	|d<   t        || j                  j                  j                        }| j                  r/| j                  j                  j!                  | j                         ||fS )
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        V/srv/www/ollama/chat-ollama/venv/lib/python3.12/site-packages/openpyxl/cell/_writer.py_set_attributesr+      s    J*Ec
~~ c
	3	^^c
KKE~~5(#(@ R S S ;;''
5)0Lu%EE#JUDKK$6$6$<$<=E~~&&t~~6%<    c                 t   t        ||      \  }}t        d|      }||dk(  r| j                  |       y |j                  dk(  rvi }t	        |t
              rt        |      }|j                  }nt	        |t              rt        |      }d }t        |d|      }| |j                  d      dk(  s|dd  |_        d }|j                  dk(  rt        |d      }	t	        |t              rt        |	d      }
||
_        t        |
       n|D ]  }t        |	d	      }t	        |t              rBt        |d
      }|j                  |j                  j!                                |j"                  }
n|}
t        |d      }
|
|
_        t        |
        nt        |d      }|t%        |      |_        | j                  |       y )Nc r   r   	dataTable   r   isr   rPrv)r+   r   writer   r!   r   dicttextr   r   getstrr   r   r%   fontto_treenamer   )xf	worksheetr&   r'   r)   
attributeselattribformulainline_stringr7   r   sese2cell_contents                  r*   etree_write_cellrG   -   s   'f5E:	j	!B}
~~e\*%[FJJE/0%[FERf-VZZ_%C 9GLE~~"2t,eS!mS1DDIt 
!s3a+$R/CJJqvv~~/066DD!"c* 	4 
! ""c* +E 2LHHRLr,   c           	      >   t        ||      \  }}|dk(  s|| j                  d|      5  	 d d d        y | j                  d|      5  |j                  dk(  ri }t        |t              rt        |      }|j                  }nt        |t              rt        |      }d }| j                  d|      5  |*|j                  d      dk(  s| j                  |dd         d }d d d        |j                  dk(  r!| j                  d      5  t        |t              rFi }||j                         k7  rd	|d
t        z  <   t        d|      }||_        | j                  |       n|D ]  }	| j                  d      5  t        |	t              r8| j                  |	j                  j!                  d             |	j                  }n|	}i }||j                         k7  rd	|d
t        z  <   t        d|      }||_        | j                  |       d d d         d d d        n6| j                  d      5  || j                  t#        |             d d d        d d d        y # 1 sw Y   *xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   9xY w# 1 sw Y   ExY w# 1 sw Y   y xY w)Nr/   r.   r   r   r0   r1   r   r2   preservez	{%s}spacer   r3   )tagnamer4   )r+   elementr   r!   r   r6   r7   r   r8   r5   r9   stripr   r   r   r:   r;   r   )
r=   r>   r&   r'   r)   r?   rA   r(   r@   r   s
             r*   lxml_write_cellrM   c   sj   'f5E:{emZZZ( 		 	 
C	$ .1>>S F%.e

E#34eC( !$VZZ_-KHHU12Y' E!
 >>S D! )eS)E-6@kF23 e,B#BGHHRL # )ZZ_ ))!Y7 ")F G()()$&E$5>HkF&: ;!(e!4B&+BGHHRL) ))) )4 C 1$HH[/01Y.1 .1	 	! !$) )) )41 1Y.1 .1sz   IA)J/-I!)JA-I;2BI.	
I;J&JJI!I+	&J.I83I;;J	 JJ	JJ)N)F)openpyxl.compatr   openpyxl.xml.functionsr   r   r   r   r   openpyxlr	   openpyxl.utils.datetimer
   r   datetimer   openpyxl.worksheet.formular   r   openpyxl.cell.rich_textr   r+   rG   rM   
write_cell r,   r*   <module>rW      s@    ( R R  8  E -B3l51p  J!Jr,   