B
    ±ªt\^  ã               @   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__© ú7lib/python3.7/site-packages/xlsxwriter/relationships.pyr      s    zRelationships.__init__c             C   s   |   ¡  |  ¡  |  ¡  d S )N)Z_xml_declarationÚ_write_relationshipsZ
_xml_close)r   r
   r
   r   Ú_assemble_xml_file/   s    z Relationships._assemble_xml_fileNc             C   s   t | }| j |||f¡ d S )N)Údocument_schemar   Úappend)r   Úrel_typeÚtargetÚtarget_moder
   r
   r   Ú_add_document_relationship:   s    z(Relationships._add_document_relationshipc             C   s   t | }| j ||d f¡ d S )N)Úpackage_schemar   r   )r   r   r   r
   r
   r   Ú_add_package_relationship@   s    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   Zschemar
   r
   r   Ú_add_ms_package_relationshipF   s    z*Relationships._add_ms_package_relationshipc             C   s   t | }| j |||f¡ d S )N)r   r   r   )r   r   r   r   r
   r
   r   Ú_add_worksheet_relationshipM   s    z)Relationships._add_worksheet_relationshipc             C   s>   dt fg}|  d|¡ x| jD ]}|  |¡ qW |  d¡ d S )NZxmlnsr   )r   Z_xml_start_tagr   Ú_write_relationshipZ_xml_end_tag)r   Ú
attributesÚrelationshipr
   r
   r   r   Y   s
    
z"Relationships._write_relationshipsc             C   sZ   |\}}}ddt | jƒ fd|fd|fg}|  jd7  _|rJ| d|f¡ |  d|¡ d S )NZIdZrIdZTypeZTargetr   Z
TargetModeZRelationship)Ústrr   r   Z_xml_empty_tag)r   r   r   r   r   r   r
   r
   r   r   d   s    

z!Relationships._write_relationship)N)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   Ú__classcell__r
   r
   )r	   r   r      s   

r   N)Ú r   Zschema_rootr   r   Z	XMLwriterr   r
   r
   r
   r   Ú<module>	   s   