o
    È·e†  ã                   @   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                       s\   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d„Z	dd„ Z
dd„ Z‡  ZS )ÚRelationshipszB
    A class for writing the Excel XLSX Relationships file.


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

        r   N)Úsuperr   Ú__init__ÚrelationshipsÚid©Úself©Ú	__class__© úO/var/www/ideatree/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_file0   s   z Relationships._assemble_xml_fileNc                 C   ó   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_relationshipA   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_relationshipG   s   z*Relationships._add_ms_package_relationshipc                 C   r   r   r   r   r   r   r   Ú_add_worksheet_relationshipN   r   z)Relationships._add_worksheet_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   Z   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$   e   s   
ýz!Relationships._write_relationshipr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__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
   	