U
    [Sh^                     @   sh   d Z ddlmZ ddlZddlZddlmZ ddlZddl	Z	dddZ
dd	 Zd
d Zedkrde  dS )z
Adapt a word-processor-generated styles.odt for odtwriter use:

Drop page size specifications from styles.xml in STYLE_FILE.odt.
See https://docutils.sourceforge.io/docs/user/odt.html#page-size
    )ElementTreeN)mkstempz/urn:oasis:names:tc:opendocument:xmlns:style:1.0z;urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0)stylefoc                 C   s2  t | }|d}d }tj|ddD ]:\}}|dkrLt|d |d  q&|dkr&|d kr&|}q&|  |jdtd	D ].}t	|j
D ]}|d
td  r|j
|= qqxt }t t|d ddt j}	| D ]:}
|
jdkr|	|
tj|dd q|	|
||
j q|	  |  t|d |  d S )Nz
styles.xml)startstart-ns)eventsr   r      r   z.//style:page-layout-properties)
namespacesz{%s}r   wbwzUTF-8)encoding)zipfileZipFileopenetreeZ	iterparseZregister_namespaceclosefindall
NAMESPACESlistZattrib
startswithr   osfdopenZIP_DEFLATEDinfolistfilenamewritestrtostringreadshutilmove)r   ZzinstylesrooteventelemelattrtempnameZzoutitem r)   V/root/rtd-docs/venv/lib/python3.8/site-packages/docutils/writers/odf_odt/prepstyles.py	prepstyle   s6    



r+   c                  C   sj   t jdd  } t| dks&| d dkrVttt jd tdt jd  t jd t d | d }t| d S )Nr	   r   )z-hz--help)filezUsage: %s STYLE_FILE.odt
)sysargvlenprint__doc__stderrexitr+   )argsr   r)   r)   r*   mainC   s    
r5   __main__)r1   Z	xml.etreer   r   r-   r   tempfiler   r   r   r   r+   r5   __name__r)   r)   r)   r*   <module>   s   	%
