
    kh	                     Z    d dl mZ ddlmZmZ dZdez   ZdZdZd Z	d	 Z
d
 Zd Zd Zd Zy)    )ElementTree   )open_zip
update_zipzmammoth/style-map/zword/_rels/document.xml.relsz[Content_Types].xmlc           	         t        | d      5 }t        |j                  t                    }t	        |j                  t
                    }d d d        t        | t        |j                  d      t        t
        i       y # 1 sw Y   7xY w)Nrutf8)	r   _generate_relationships_xmlread_str_relationships_path_generate_content_types_xml_content_types_pathr   _style_map_pathencode)fileobj	style_mapzip_filerelationships_xmlcontent_types_xmls        R/var/www/teggl/fontify/venv/lib/python3.12/site-packages/mammoth/docx/style_map.pywrite_style_mapr      s    	'3	 `878I8IJ]8^_78I8IJ]8^_` w))&1.. 	` `s   =B  B	c           	          d}d}d|z   dz   }t        j                  |       }t        ||dd|t        d       t        j                  |d      S )	Nz,http://schemas.zwobble.org/mammoth/style-mapz<http://schemas.openxmlformats.org/package/2006/relationships{z}RelationshipIdrMammothStyleMap)r   TypeTargetUTF-8r   
fromstring_add_or_update_element_style_map_absolute_pathtostring)r   schemarelationships_urirelationship_element_namerelationshipss        r   r   r      sb    ;FV #&7 7/ I**+<=M=*CT *L  w77    c                     d}d|z   dz   }t        j                  |       }t        ||dt        dd       t        j                  |d      S )Nz<http://schemas.openxmlformats.org/package/2006/content-typesr   z	}OverridePartNameztext/prs.mammoth.style-map)r+   ContentTyper   r    )r   content_types_urioverride_nametypess       r   r   r   &   sW    V++k9M""#45E5-,3> 
 w//r)   c                 b    t        | |||      }|t        j                  | ||       y ||_        y N)_find_childr   
SubElementattrib)parentnameidentifying_attribute
attributesexisting_childs        r   r"   r"   3   s3     /DjQNvtZ8 *r)   c                     | j                         D ]9  }|j                  |k(  s|j                  |      |j                  |      k(  s7|c S  y r1   )itertagget)r5   r6   r7   r8   elements        r   r2   r2   ;   sC    ;;= ;;$7;;/D#EXmIn#nNr)   c                     t        | d      5 }|j                  t              r|j                  t              cd d d        S 	 d d d        y # 1 sw Y   y xY w)Nr	   )r   existsr   r   )r   r   s     r   read_style_maprA   A   sJ    	'3	 68???+$$_56 6+6 6 6s   *AAN)	xml.etreer   zipsr   r   r   r#   r   r   r   r   r   r"   r2   rA    r)   r   <module>rE      sG    ! ' &0 4 + 	8
0+6r)   