
    	i                         d dl Z d dlmZ  e j        d          Z e j        d          Z e j        d          Z G d d          ZdS )    N)StringIOz(_x[0-9a-fA-F]{4}_)z([\x00-\x08\x0b-\x1f])z["&<>
]c                       e Zd ZdZddZddZddZddZddZg fdd	Z	g fdd
Z
ddZg fddZg fddZg fddZg fddZg fddZddZg fddZg fddZg fddZg fddZd Zd Zed             ZdS )	XMLwriterz#
    Simple XML writer class.

    returnNc                 "    d | _         d| _        d S NFfhinternal_fhselfs    L/srv/django_bis/venv311/lib/python3.11/site-packages/xlsxwriter/xmlwriter.py__init__zXMLwriter.__init__   s         c                 "    || _         d| _        d S r   r	   )r   
filehandles     r   _set_filehandlezXMLwriter._set_filehandle"   s     r   c                     t          |t                    rd| _        || _        d S d| _        t	          |dd          | _        d S )NFTwzutf-8)encoding)
isinstancer   r   r
   open)r   filenames     r   _set_xml_writerzXMLwriter._set_xml_writer'   sI    h)) 	<$DDGGG#D8S7;;;DGGGr   c                 J    | j         r| j                                         d S d S )N)r   r
   closer   s    r   
_xml_closezXMLwriter._xml_close1   s*     	GMMOOOOO	 	r   c                 :    | j                             d           d S )Nz8<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
r
   writer   s    r   _xml_declarationzXMLwriter._xml_declaration6   s    QRRRRRr   c                     |D ]&\  }}|                      |          }|d| d| dz  }'| j                            d| d           d S N =""<>_escape_attributesr
   r    r   tag
attributeskeyvalues        r   _xml_start_tagzXMLwriter._xml_start_tag:   sj    $ 	' 	'JC++E22E&s&&e&&&&CCj#jjj!!!!!r   c                 j    |D ]\  }}|d| d| dz  }| j                             d| d           d S r#   r   r+   s        r   _xml_start_tag_unencodedz"XMLwriter._xml_start_tag_unencodedB   sY     % 	' 	'JC&s&&e&&&&CCj#jjj!!!!!r   c                 B    | j                             d| d           d S )N</r(   r   )r   r,   s     r   _xml_end_tagzXMLwriter._xml_end_tagK   s$    k3kkk"""""r   c                     |D ]&\  }}|                      |          }|d| d| dz  }'| j                            d| d           d S Nr$   r%   r&   r'   z/>r)   r+   s        r   _xml_empty_tagzXMLwriter._xml_empty_tagO   sj    $ 	' 	'JC++E22E&s&&e&&&&CCk#kkk"""""r   c                 j    |D ]\  }}|d| d| dz  }| j                             d| d           d S r7   r   r+   s        r   _xml_empty_tag_unencodedz"XMLwriter._xml_empty_tag_unencodedW   sY     % 	' 	'JC&s&&e&&&&CCk#kkk"""""r   c           	          |}|D ]&\  }}|                      |          }|d| d| dz  }'|                     |          }|                     |          }| j                            d| d| d| d           d S )Nr$   r%   r&   r'   r(   r4   )r*   _escape_data_escape_control_charactersr
   r    )r   r,   datar-   end_tagr.   r/   s          r   _xml_data_elementzXMLwriter._xml_data_element`   s    $ 	' 	'JC++E22E&s&&e&&&&CC  &&..t442#222222233333r   c                     d}|D ]&\  }}|                      |          }|d| d| dz  }'| j                            d| d| d           d S )N r$   r%   r&   <cz
 t="s"><v></v></c>r)   )r   indexr-   attrr.   r/   s         r   _xml_string_elementzXMLwriter._xml_string_elementm   s{    $ 	( 	(JC++E22E'''u''''DD:4::5:::;;;;;r   c                     d}|D ]&\  }}|                      |          }|d| d| dz  }'|                     |          }| j                            d| d| d           d S )NrB   r$   r%   r&   z<si><tr(   z	</t></si>r*   r<   r
   r    r   stringr-   rF   r.   r/   s         r   _xml_si_elementzXMLwriter._xml_si_elementw   s    $ 	( 	(JC++E22E'''u''''DD""6**7t77f77788888r   c                 B    | j                             d| d           d S )Nz<si>z</si>r   )r   rK   s     r   _xml_rich_si_elementzXMLwriter._xml_rich_si_element   s*     	*V***+++++r   c                     d}|D ]&\  }}|                      |          }|d| d| dz  }'| j                            d| d|dd           d S )	NrB   r$   r%   r&   rC   z><v>z.16GrD   r)   )r   numberr-   rF   r.   r/   s         r   _xml_number_elementzXMLwriter._xml_number_element   s~    $ 	( 	(JC++E22E'''u''''DD:4::V::::;;;;;r   c           	          d}|D ]&\  }}|                      |          }|d| d| dz  }'|                     |          }|                     |          }| j                            d| d| d| d           d S )	NrB   r$   r%   r&   rC   z><f>z</f><v>rD   rI   )r   formularesultr-   rF   r.   r/   s          r   _xml_formula_elementzXMLwriter._xml_formula_element   s    $ 	( 	(JC++E22E'''u''''DD##G,,""6**E4EEWEEVEEEFFFFFr   c           	          d}d}|rd}|D ]&\  }}|                      |          }|d| d| dz  }'|                     |          }| j                            d| d| d| d	           d S )
NrB   z xml:space="preserve"r$   r%   r&   rC   z t="inlineStr"><is><tr(   z</t></is></c>rI   )r   rK   preserver-   rF   t_attrr.   r/   s           r   _xml_inline_stringzXMLwriter._xml_inline_string   s      	-,F$ 	( 	(JC++E22E'''u''''DD""6**T4TTfTTvTTTUUUUUr   c                     d}|D ]&\  }}|                      |          }|d| d| dz  }'| j                            d| d| d           d S )NrB   r$   r%   r&   rC   z t="inlineStr"><is>z	</is></c>r)   rJ   s         r   _xml_rich_inline_stringz!XMLwriter._xml_rich_inline_string   s{    $ 	( 	(JC++E22E'''u''''DDE4EEFEEEFFFFFr   c                 2   	 t                               |          s|S n# t          $ r |cY S w xY w|                    dd                              dd                              dd                              dd                              d	d
          }|S )N&&amp;r&   z&quot;r'   &lt;r(   &gt;
z&#xA;xml_escapessearch	TypeErrorreplace)r   	attributes     r   r*   zXMLwriter._escape_attributes   s    	%%i00 !  ! 	 	 		 c7++WS(##WS&!!WS&!!WT7## 	     ..c                     	 t                               |          s|S n# t          $ r |cY S w xY w|                    dd                              dd                              dd          }|S )Nr]   r^   r'   r_   r(   r`   rb   )r   r>   s     r   r<   zXMLwriter._escape_data   s    	%%d++  	 	 	KKK	 ||C))11#v>>FFsFSSrh   c                     	 t                               d|           } n# t          $ r | cY S w xY wt                              d |           } |                     dd                              dd          } | S )Nz_x005F\1c                 P    dt          |                     d                    ddS )N_x   04X_)ordgroup)matchs    r   <lambda>z6XMLwriter._escape_control_characters.<locals>.<lambda>   s'    9s5;;q>>229999 r   u   ￾_xFFFE_u   ￿_xFFFF_)re_control_chars_1subre   re_control_chars_2rf   )r>   s    r   r=   z$XMLwriter._escape_control_characters   s    	%))+t<<DD 	 	 	KKK	 "%%994
 

 ||Hi00889MMs    --)r   N)__name__
__module____qualname____doc__r   r   r   r   r!   r0   r2   r5   r8   r:   r@   rG   rL   rN   rQ   rU   rY   r[   r*   r<   staticmethodr=    r   r   r   r      sC        
! ! ! !! ! ! !
< < < <   
S S S S .0 " " " " " 8: " " " " "# # # # .0 # # # # # 8: # # # # # 79 4 4 4 4 4 57 < < < < < 24 
9 
9 
9 
9 
9, , , ,
 68 < < < < < @B 
G 
G 
G 
G 
G ?A V V V V V" :< G G G G G  "     \  r   r   )reior   compilerv   rx   rc   r   r~   r   r   <module>r      s    
			        RZ 566 RZ 9:: bj$$S S S S S S S S S Sr   