o
    ,hn                     @   s"   d dl mZ G dd dejZdS )   )	xmlwriterc                       s   e Zd ZdZ fddZdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z  ZS ) Metadataz=
    A class for writing the Excel XLSX Metadata file.


    c                    s    t    d| _d| _d| _dS )z
        Constructor.

        F    N)super__init__has_dynamic_functionshas_embedded_imagesnum_embedded_imagesself	__class__ I/var/www/html/rh/venv/lib/python3.10/site-packages/xlsxwriter/metadata.pyr      s   

zMetadata.__init__c                 C   sv   | j dkrd| _|   |   |   | jr|   | jr"|   | jr)|   | jr0| 	  | 
d |   d S )Nr   Tmetadata)r	   r   _xml_declaration_write_metadata_write_metadata_typesr   _write_cell_future_metadata_write_value_future_metadata_write_cell_metadata_write_value_metadata_xml_end_tag
_xml_closer
   r   r   r   _assemble_xml_file+   s   

zMetadata._assemble_xml_filec                 C   sR   d}d}d|fg}| j r|d|d f | jr!|d|d f | d| d S )	Nz9http://schemas.openxmlformats.org/spreadsheetml/2006/mainz1http://schemas.microsoft.com/office/spreadsheetmlxmlnsz
xmlns:xlrdz/2017/richdataz	xmlns:xdaz/2017/dynamicarrayr   )r   appendr   _xml_start_tag)r   r   schema
attributesr   r   r   r   Q   s   
zMetadata._write_metadatac                 C   s`   d}| j r	|d7 }| jr|d7 }d|fg}| d| | j r"|   | jr)|   | d d S )Nr   r   countmetadataTypes)r   r   r   _write_cell_metadata_type_write_value_metadata_typer   )r   r    r   r   r   r   r   `   s   
zMetadata._write_metadata_typesc                 C      g d}|  d| d S )N)nameXLDAPRminSupportedVersioni copyr   pasteAllr   pasteValuesr   merger   
splitFirstr   rowColShiftr   clearFormatsr   clearCommentsr   assignr   coercer   )cellMetar   metadataType_xml_empty_tagr   r   r   r   r   r"   u   s   z"Metadata._write_cell_metadata_typec                 C   r$   )N)r&   XLRICHVALUEr(   r*   r,   r.   r0   r2   r4   r6   r8   r:   r<   r?   r@   rB   r   r   r   r#      s   z#Metadata._write_value_metadata_typec                 C   sR   ddg}|  d| |  d |  d |   | d | d | d d S )Nr%   r    r   futureMetadatabkextLst)r   _write_cell_extr   rB   r   r   r   r      s   



z$Metadata._write_cell_future_metadatac                 C   sj   dd| j fg}| d| t| j D ]}| d | d | | | d | d q| d d S )NrC   r    rF   rG   rH   )r	   r   range_write_value_extr   )r   r   indexr   r   r   r      s   



z%Metadata._write_value_future_metadatac                 C   s(   dg}|  d| |   | d d S )N)uriz&{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}ext)r   #_write_xda_dynamic_array_propertiesr   rB   r   r   r   rI      s   zMetadata._write_cell_extc                 C   s   ddg}|  d| d S )N)fDynamicr   )
fCollapsedr   zxda:dynamicArrayPropertiesr@   rB   r   r   r   rO      s   z,Metadata._write_xda_dynamic_array_propertiesc                 C   s*   dg}|  d| | | | d d S )N)rM   z&{3e2802c4-a4d2-4d8b-9148-e3be6c30e623}rN   )r   _write_xlrd_rvbr   r   rL   r   r   r   r   rK      s   
zMetadata._write_value_extc                 C   s   d|fg}|  d| d S )Nizxlrd:rvbr@   rS   r   r   r   rR      s   
zMetadata._write_xlrd_rvbc                 C   s@   dg}|  d| |  d | dd | d | d d S )NrE   cellMetadatarG   r   r   )r   	_write_rcr   rB   r   r   r   r      s   

zMetadata._write_cell_metadatac                 C   sh   | j }d}| jr
d}d|fg}| d| t| j D ]}| d | || | d q| d d S )Nr      r    valueMetadatarG   )r	   r   r   rJ   rV   r   )r   r    rc_typer   rL   r   r   r   r      s   

zMetadata._write_value_metadatac                 C   s    d|fd|fg}|  d| d S )Ntvrcr@   )r   rY   rL   r   r   r   r   rV     s   zMetadata._write_rc)__name__
__module____qualname____doc__r   r   r   r   r"   r#   r   r   rI   rO   rK   rR   r   r   rV   __classcell__r   r   r   r   r      s"    &	r   N) r   	XMLwriterr   r   r   r   r   <module>   s   	