Ë
    ¤2Úiµ  ã                   ó¢   — d dl mZ d dlmZ d dlmZ d dlZd dlm	Z	 d dl
mZ 	 d dlmZ  G d„ d	ej                   «      Zy# e$ r	 d dlmZ Y Œ#w xY w)
é    )Úmake_parser)Úhandler)ÚInputSourceN)ÚElement)ÚOFFICENS)ÚStringIOc            	       ó\   — e Zd ZdZedfedfedfedfedfedfedfed	ffZd
„ Zd„ Zd„ Zd„ Z	y)Ú
LoadParserz2 Extract headings from content.xml of an ODT file úautomatic-stylesÚbodyúfont-face-declsúmaster-stylesÚmetaÚscriptsÚsettingsÚstylesc                 ó<   — || _         g | _        d| _        d| _        y )Nr   F)ÚdocÚdataÚlevelÚparse)ÚselfÚdocuments     ú?/var/www/html/acx/venv/lib/python3.12/site-packages/odf/load.pyÚ__init__zLoadParser.__init__1   s   € ØˆŒØˆŒ	ØˆŒ
Øˆ�
ó    c                 óZ   — | j                   dk(  ry | j                  j                  |«       y )NF)r   r   Úappend)r   r   s     r   Ú
characterszLoadParser.characters7   s#   € Ø�:‰:˜ÒØØ�	‰	×Ñ˜Õr   c                 ó$  — || j                   v rd| _        | j                  j                  dk7  r|t        dfk(  rd| _        | j                  dk(  ry | j
                  dz   | _        dj                  | j                  «      }|r$| j                  j                  |d¬«       g | _        i }|j                  «       D ]
  \  }}|||<   Œ 	 t        ||d¬«      }|| _        |t        d
fk(  r| j                  j                  }|| _        y |t        dfk(  r| j                  j                   }|| _        y |t        dfk(  r| j                  j"                  }|| _        y |t        dfk(  r| j                  j$                  }|| _        y |t        dfk(  r| j                  j&                  }|| _        y |t        dfk(  r| j                  j(                  }|| _        y |t        dfk(  r| j                  j*                  }|| _        y | j                  j                  dk(  r)|t        dfk(  r| j                  j,                  }|| _        y t/        | d«      r| j                  j1                  d¬«       | _        y # t        $ r}	t        d	|	z  «       Y d }	~	�Œ¯d }	~	ww xY w)NTz
styles.xmlr   Fé   Ú ©Úcheck_grammar)ÚqnameÚqattributesr$   z	Error: %sr   r   r   r   r   r   r   Úparent)Útriggersr   r   Ú_parsingr   r   Újoinr   r'   ÚaddTextÚitemsr   ÚcurrÚAttributeErrorÚprintÚautomaticstylesr   Úmasterstylesr   r   r   r   ÚfontfacedeclsÚhasattrÚ
addElement)
r   Útagr%   ÚattrsÚcontentÚattrdictÚattÚvalueÚeÚvs
             r   ÚstartElementNSzLoadParser.startElementNS<   s]  € Ø�$—-‘-ÑØˆDŒJØ�8‰8×Ñ Ò,°¼ÐCTÐ8UÒ1UØˆDŒJØ�:‰:˜ÒØà—Z‘Z !‘^ˆŒ
à—'‘'˜$Ÿ)™)Ó$ˆÙØ�K‰K×Ñ °uÐÔ=ØˆDŒIàˆØ Ÿ;™;›=ò 	"‰KˆS�Ø!ˆH�SŠMð	"ð	$Ü °ÈÔOˆAØˆDŒIð ”8Ð/Ð0Ò0Ø—‘×(Ñ(ˆAð" ˆ�ð! ”X˜vÐ&Ò&Ø—‘—‘ˆAð ˆ�ð ”X˜Ð/Ò/Ø—‘×%Ñ%ˆAð ˆ�ð ”X˜vÐ&Ò&Ø—‘—‘ˆAð ˆ�ð ”X˜iÐ(Ò(Ø—‘× Ñ ˆAð ˆ�ð ”X˜jÐ)Ò)Ø—‘×!Ñ!ˆAð ˆ�ð ”X˜hÐ'Ò'Ø—‘—‘ˆAð
 ˆ�ð	 �X‰X×Ñ ,Ò.°3¼8ÐEVÐ:WÒ3WØ—‘×&Ñ&ˆAð ˆ�ô �T˜(Ô#Ø�K‰K×"Ñ" 1°EÐ"Ô:Øˆ�øô+ ò 	$Ü�; ‘?×#Ò#ûð	$ús   ÃI- É-	JÉ6J
Ê
Jc                 óR  — | j                   dk(  ry | j                  dz
  | _        dj                  | j                  «      }|r| j                  j                  |d¬«       g | _        | j                  j                  | _        | j                  | _        || j                  v rd| _         y y )NFr!   r"   r#   )	r   r   r*   r   r-   r+   Ú
parentNoder'   r(   )r   r5   r%   Ústrs       r   ÚendElementNSzLoadParser.endElementNSi   s‡   € Ø�:‰:˜ÒØØ—Z‘Z !‘^ˆŒ
Ø�g‰g�d—i‘iÓ ˆÙØ�I‰I×Ñ˜c°ÐÔ7ØˆŒ	Ø—I‘I×(Ñ(ˆŒ	Ø—i‘iˆŒØ�$—-‘-ÑØˆD�Jð  r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r(   r   r   r=   rA   © r   r   r
   r
   )   s_   „ Ù<àÐ$Ð%¨°&Ð'9ØÐ#Ð$ x°Ð&AØ�&Ð˜H iÐ0Ø�*Ð ¨(Ð3ð	6€Hòòò
*óZr   r
   )Údefusedxml.saxr   Úxml.saxr   Úxml.sax.xmlreaderr   Úxml.sax.saxutilsÚxmlÚodf.elementr   Úodf.namespacesr   Ú	cStringIOr   ÚImportErrorÚioÚContentHandlerr
   rF   r   r   ú<module>rR      sI   ðõ6 'Ý Ý )Û Ý Ý #ðÝ"ôK�×'Ñ'õ Køð ò ßðús   ¤A  Á AÁA