o
    ûÐ,hš  ã                   @   s6   d dl mZ dZed Zed ZG dd„ dejƒZdS )é   )Ú	xmlwriterz!http://schemas.openxmlformats.orgz/package/2006/relationshipsz"/officeDocument/2006/relationshipsc                       sb   e Zd ZdZ‡ fdd„Zdd„ Zddd„Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Z‡  ZS )ÚRelationshipszB
    A class for writing the Excel XLSX Relationships file.


    c                    s   t ƒ  ¡  g | _d| _dS )z
        Constructor.

        r   N)ÚsuperÚ__init__ÚrelationshipsÚid©Úself©Ú	__class__© úN/var/www/html/rh/venv/lib/python3.10/site-packages/xlsxwriter/relationships.pyr       s   

zRelationships.__init__c                 C   s   |   ¡  |  ¡  |  ¡  d S ©N)Ú_xml_declarationÚ_write_relationshipsÚ
_xml_closer   r   r   r   Ú_assemble_xml_file1   s   z Relationships._assemble_xml_fileNc                 C   s   t | }| j |||f¡ d S r   )ÚDOCUMENT_SCHEMAr   Úappend)r	   Úrel_typeÚtargetÚtarget_moder   r   r   Ú_add_document_relationship<   ó   z(Relationships._add_document_relationshipc                 C   s   t | }| j ||d f¡ d S r   )ÚPACKAGE_SCHEMAr   r   )r	   r   r   r   r   r   Ú_add_package_relationshipB   r   z'Relationships._add_package_relationshipc                 C   s"   d}|| }| j  ||d f¡ d S )Nz6http://schemas.microsoft.com/office/2006/relationships©r   r   )r	   r   r   Úschemar   r   r   Ú_add_ms_package_relationshipH   s   z*Relationships._add_ms_package_relationshipc                 C   s„   d}|d }d}| j  ||d f¡ d}|d }d}| j  ||d f¡ |d }d}| j  ||d f¡ |d	 }d
}| j  ||d f¡ d S )Nz:http://schemas.microsoft.com/office/2022/10/relationships/ÚrichValueRelzrichData/richValueRel.xmlz:http://schemas.microsoft.com/office/2017/06/relationships/ÚrdRichValuezrichData/rdrichvalue.xmlÚrdRichValueStructurez!richData/rdrichvaluestructure.xmlÚrdRichValueTypeszrichData/rdRichValueTypes.xmlr   ©r	   r   r   r   r   r   r   Ú_add_rich_value_relationshipO   s   z*Relationships._add_rich_value_relationshipc                 C   s&   d}|d }d}| j  ||d f¡ d S )Nz:http://schemas.microsoft.com/office/2022/11/relationships/ÚFeaturePropertyBagz)featurePropertyBag/featurePropertyBag.xmlr   r#   r   r   r   Ú_add_feature_bag_relationshipc   s   z+Relationships._add_feature_bag_relationshipc                 C   s:   dt fg}|  d|¡ | jD ]}|  |¡ q|  d¡ d S )NÚxmlnsr   )r   Ú_xml_start_tagr   Ú_write_relationshipÚ_xml_end_tag)r	   Ú
attributesÚrelationshipr   r   r   r   p   s   þÿ
z"Relationships._write_relationshipsc                 C   sZ   |\}}}ddt | jƒ fd|fd|fg}|  jd7  _|r%| d|f¡ |  d|¡ d S )NÚIdÚrIdÚTypeÚTargetr   Ú
TargetModeÚRelationship)Ústrr   r   Ú_xml_empty_tag)r	   r,   r   r   r   r+   r   r   r   r)   €   s   
ýz!Relationships._write_relationshipr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r$   r&   r   r)   Ú__classcell__r   r   r
   r   r      s    
r   N)Ú r   ÚSCHEMA_ROOTr   r   Ú	XMLwriterr   r   r   r   r   Ú<module>   s
   
