
    ,h                      N    d dl mZmZmZ ddlmZ  G d dej                        Zy)    )DictListTuple   )	xmlwriterc                        e Zd ZdZ fdZdefdZdeeef   fdZ	de
eef   fdZd	 Zd
 Zd Zd Zd Zd Zd Zdedeeeef      fdZdeeef   fdZd Zd Zd Zd Zd Zd Zd Z xZS )Appz8
    A class for writing the Excel XLSX App file.


    c                 Z    t         |           g | _        g | _        i | _        d| _        y)z
        Constructor.

        r   N)super__init__
part_namesheading_pairs
propertiesdoc_security)self	__class__s    P/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/xlsxwriter/app.pyr   zApp.__init__   s.     	    	part_namec                 :    | j                   j                  |       y N)r   append)r   r   s     r   _add_part_namezApp._add_part_name)   s    y)r   heading_pairc                     |d   sy | j                   j                  d|d   f       | j                   j                  d|d   f       y )Nr   lpstrr   i4)r   r   )r   r   s     r   _add_heading_pairzApp._add_heading_pair-   sH    
 A!!7LO"<=!!4a"9:r   r   c                     || _         y r   )r   )r   r   s     r   _set_propertieszApp._set_properties8   s	    $r   c                    | j                          | j                          | j                          | j                          | j	                          | j                          | j                          | j                          | j                          | j                          | j                          | j                          | j                          | j                          | j                  d       | j                          y )N
Properties)_xml_declaration_write_properties_write_application_write_doc_security_write_scale_crop_write_heading_pairs_write_titles_of_parts_write_manager_write_company_write_links_up_to_date_write_shared_doc_write_hyperlink_base_write_hyperlinks_changed_write_app_version_xml_end_tag
_xml_closer   s    r   _assemble_xml_filezApp._assemble_xml_fileB   s     	 !  " !!###%$$& ""$&&(!,' 	r   c                 P    d}|dz   }|dz   }d|fd|fg}| j                  d|       y )Nz6http://schemas.openxmlformats.org/officeDocument/2006/zextended-propertiesdocPropsVTypesxmlnszxmlns:vtr"   )_xml_start_tag)r   schemar7   xmlns_vt
attributess        r   r$   zApp._write_propertiesa   sH    I..,, e"


 	L*5r   c                 (    | j                  dd       y )NApplicationzMicrosoft Excel_xml_data_elementr3   s    r   r%   zApp._write_applicationn   s    }.?@r   c                 <    | j                  d| j                         y )NDocSecurity)r?   r   r3   s    r   r&   zApp._write_doc_securityr   s    }d.?.?@r   c                 (    | j                  dd       y )N	ScaleCropfalser>   r3   s    r   r'   zApp._write_scale_cropv       {G4r   c                     | j                  d       | j                  d| j                         | j                  d       y )NHeadingPairsvariant)r8   _write_vt_vectorr   r1   r3   s    r   r(   zApp._write_heading_pairsz   s4    N+i););<.)r   c                     g }| j                  d       | j                  D ]  }|j                  d|f        | j                  d|       | j	                  d       y )NTitlesOfPartsr   )r8   r   r   rI   r1   )r   
parts_datar   s      r   r)   zApp._write_titles_of_parts   s[    
O, 	4Iw	23	4 	gz2/*r   	base_typevector_datac                     dt        |      fd|fg}| j                  d|       |D ]@  }|dk(  r| j                  d       | j                  |       |dk(  s0| j                  d       B | j                  d       y )NsizebaseTypez	vt:vectorrH   z
vt:variant)lenr8   _write_vt_datar1   )r   rM   rN   r;   vt_datas        r   rI   zApp._write_vt_vector   s     S%&#


 	K4" 	0GI%##L1(I%!!,/	0 	+&r   rT   c                 :    | j                  d|d    |d          y )Nzvt:r   r   r>   )r   rT   s     r   rS   zApp._write_vt_data   s!    WQZL171:>r   c                 `    | j                   j                  dd      }| j                  d|       y )Ncompany Companyr   getr?   )r   rW   s     r   r+   zApp._write_company   s(    //%%i4y'2r   c                 `    d| j                   vry | j                  d| j                   d          y )NmanagerManager)r   r?   r3   s    r   r*   zApp._write_manager   s*    DOO+y$//)*DEr   c                 (    | j                  dd       y )NLinksUpToDaterD   r>   r3   s    r   r,   zApp._write_links_up_to_date   s    8r   c                 (    | j                  dd       y )N	SharedDocrD   r>   r3   s    r   r-   zApp._write_shared_doc   rE   r   c                 d    | j                   j                  d      }|y | j                  d|       y )Nhyperlink_baseHyperlinkBaserZ   )r   rd   s     r   r.   zApp._write_hyperlink_base   s0    ,,-=>!?r   c                 (    | j                  dd       y )NHyperlinksChangedrD   r>   r3   s    r   r/   zApp._write_hyperlinks_changed   s    2G<r   c                 (    | j                  dd       y )N
AppVersionz12.0000r>   r3   s    r   r0   zApp._write_app_version   s    |Y7r   )__name__
__module____qualname____doc__r   strr   r   intr   r   r    r4   r$   r%   r&   r'   r(   r)   r   rI   rS   r+   r*   r,   r-   r.   r/   r0   __classcell__)r   s   @r   r	   r	      s    * *	;eCHo 	;%$sCx. %>6AA5*+'# 'DsCx<Q '(?eCHo ?3
F95@=8r   r	   N)typingr   r   r   rX   r   	XMLwriterr	    r   r   <module>rt      s$    % $ y8)

 y8r   