U
    ª…7hn  ã                   @   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__© úM/var/www/formularioweb/env/lib/python3.8/site-packages/xlsxwriter/metadata.pyr      s    
zMetadata.__init__c                 C   sv   | j dkrd| _|  ¡  |  ¡  |  ¡  | jr6|  ¡  | jrD|  ¡  | jrR|  ¡  | jr`|  	¡  |  
d¡ |  ¡  d S )Nr   TÚmetadata)r	   r   Z_xml_declarationÚ_write_metadataÚ_write_metadata_typesr   Ú_write_cell_future_metadataÚ_write_value_future_metadataÚ_write_cell_metadataÚ_write_value_metadataÚ_xml_end_tagZ
_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rB| 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   Z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 rD|  ¡  | jrR|  ¡  |  d¡ d S )Nr   r   ÚcountZ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   s.   ddddddddd	d
dddg}|   d|¡ d S )N©ÚnameZXLDAPR©ZminSupportedVersioniÀÔ ©Úcopyr   ©ZpasteAllr   ©ZpasteValuesr   ©Úmerger   ©Z
splitFirstr   ©ZrowColShiftr   ©ZclearFormatsr   ©ZclearCommentsr   ©Zassignr   ©Zcoercer   )ZcellMetar   ÚmetadataType©Z_xml_empty_tag©r   r   r   r   r   r   u   s    óz"Metadata._write_cell_metadata_typec                 C   s,   ddddddddd	d
ddg}|   d|¡ d S )N©r!   ZXLRICHVALUEr"   r#   r%   r&   r'   r)   r*   r+   r,   r-   r.   r/   r0   r1   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   r1   r   r   r   r   œ   s    þ



z$Metadata._write_cell_future_metadatac                 C   sj   dd| j fg}|  d|¡ t| j ƒD ]6}|  d¡ |  d¡ |  |¡ |  d¡ |  d¡ q$|  d¡ d S )Nr2   r   r4   r5   r6   )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   r1   r   r   r   r7   ½   s    zMetadata._write_cell_extc                 C   s   ddg}|   d|¡ d S )N)ZfDynamicr   )Z
fCollapsedr   zxda:dynamicArrayPropertiesr0   r1   r   r   r   r=   È   s    þz,Metadata._write_xda_dynamic_array_propertiesc                 C   s*   dg}|   d|¡ |  |¡ |  d¡ d S )N)r;   z&{3e2802c4-a4d2-4d8b-9148-e3be6c30e623}r<   )r   Ú_write_xlrd_rvbr   ©r   r:   r   r   r   r   r9   Ñ   s    
zMetadata._write_value_extc                 C   s   d|fg}|   d|¡ d S )NÚizxlrd:rvbr0   r?   r   r   r   r>   Ü   s    
zMetadata._write_xlrd_rvbc                 C   s@   dg}|   d|¡ |   d¡ |  dd¡ |  d¡ |  d¡ d S )Nr3   ZcellMetadatar5   r   r   )r   Ú	_write_rcr   r1   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¡ q4|  d¡ d S )Nr   é   r   ZvalueMetadatar5   )r	   r   r   r8   rA   r   )r   r   Úrc_typer   r:   r   r   r   r   ï   s    

zMetadata._write_value_metadatac                 C   s    d|fd|fg}|   d|¡ d S )NÚtÚvÚrcr0   )r   rC   r:   r   r   r   r   rA     s    þzMetadata._write_rc)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r7   r=   r9   r>   r   r   rA   Ú__classcell__r   r   r   r   r      s    &	r   N)Ú r   Z	XMLwriterr   r   r   r   r   Ú<module>
   s   