o
    Ni^                     @   sl   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r4e  dS 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r&t|d |d  q|dkr0|d u r0|}q|  |jdtd	D ]}t	|j
D ]}|d
td  rR|j
|= qCq<t }t t|d ddt j}	| D ]}
|
jdkr||	|
tj|dd qi|	|
||
j qi|	  |  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etree	iterparseregister_namespaceclosefindall
NAMESPACESlistattrib
startswithr   osfdopenZIP_DEFLATEDinfolistfilenamewritestrtostringreadshutilmove)r   zinstylesrooteventelemelattrtempnamezoutitem r.   W/home/ubuntu/.local/lib/python3.10/site-packages/docutils/writers/odf_odt/prepstyles.py	prepstyle   s<   



r0   c                  C   sj   t jdd  } t| dks| d dv r+t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exitr0   )argsr   r.   r.   r/   mainC   s   
r:   __main__)r6   	xml.etreer   r   r2   r   tempfiler   r"   r   r   r0   r:   __name__r.   r.   r.   r/   <module>   s   	%

