
    khx                     4   d dl Z ddlmZ ddlmZ d Zd Zd Ze j                   G d	 d
e	             Z
e j                   G d de	             Zd Zd Zd Zd Ze j                   G d de	             Z G d de	      Z ei i ej$                        e_        y)    N   )numbering_level   )Stylesc                 J    t        |       }t        |       }t        |||      S )Nabstract_numsnumsstyles)_read_abstract_nums
_read_nums	Numbering)elementr   r	   r
   s       V/var/www/teggl/fontify/venv/lib/python3.12/site-packages/mammoth/docx/numbering_xml.pyread_numbering_xml_elementr      s%    '0MgD=tFKK    c                 V    | j                  d      }t        t        t        |            S )Nzw:abstractNum)find_childrendictmap_read_abstract_num)r   abstract_num_elementss     r   r   r      s'    #11/B&(=>??r   c                     | j                   j                  d      }t        |       }| j                  d      j                   j                  d      }|t	        ||      fS )Nw:abstractNumIdzw:numStyleLinkw:val)levelsnum_style_link)
attributesget_read_abstract_num_levelsfind_child_or_null_AbstractNum)r   abstract_num_idr   r   s       r   r   r      sX    ((,,->?O&w/F//0@ALLPPQXYNL~VVVr   c                   P    e Zd Z ej                         Z ej                         Zy)r"   N)__name__
__module____qualname__cobblefieldr   r    r   r   r"   r"      s    V\\^F!V\\^Nr   r"   c                   r    e Zd Z ej                         Z ej                         Z ej                         Zy)_AbstractNumLevelN)r%   r&   r'   r(   r)   level_index
is_orderedparagraph_style_idr*   r   r   r,   r,      s*    &,,.KJ%r   r,   c                 d    t        t        | j                  d            }t        d |D              S )Nzw:lvlc              3   8   K   | ]  }|j                   |f  y wN)r-   ).0levels     r   	<genexpr>z,_read_abstract_num_levels.<locals>.<genexpr>(   s#       
		E"s   )r   _read_abstract_num_levelr   r   )r   r   s     r   r    r    &   s4    )7+@+@+IJF   r   c                     | j                   d   }| j                  d      j                   j                  d      }|dk7  }| j                  d      j                   j                  d      }t        |||      S )Nzw:ilvlzw:numFmtr   bulletzw:pStyle)r-   r.   r/   )r   r!   r   r,   )r   r-   num_fmtr.   r/   s        r   r6   r6   .   su    $$X.K((4??CCGLGH$J 33J?JJNNwW- r   c                 H    | j                  d      }t        d |D              S )Nzw:numc              3   2   K   | ]  }t        |        y wr2   )	_read_num)r3   num_elements     r   r5   z_read_nums.<locals>.<genexpr><   s       	+s   )r   r   )r   num_elementss     r   r   r   :   s,    ((1L '  r   c                     | j                   j                  d      }| j                  d      j                   d   }|t        |      fS )Nzw:numIdr   r   )r#   )r   r   r!   _Num)r   num_idr#   s      r   r<   r<   B   sD    ##I.F001BCNNwWO4888r   c                   .    e Zd Z ej                         Zy)r@   N)r%   r&   r'   r(   r)   r#   r*   r   r   r@   r@   H   s    "fllnOr   r@   c                   $    e Zd Zd Zd Zd Zd Zy)r   c                 ~     | _         t         fd|j                         D               _        | _        | _        y )Nc              3      K   | ]L  }|j                   j                         D ]-  }|j                  |j                  j                  |      f / N y wr2   )r   valuesr/   _to_numbering_level)r3   abstract_numr4   selfs      r   r5   z%Numbering.__init__.<locals>.<genexpr>P   s_      2
%,,3352
 ''3 %%t'?'?'FG2
G2
s   AA)_abstract_numsr   rF   _levels_by_paragraph_style_id_nums_styles)rI   r	   r
   r   s   `   r   __init__zNumbering.__init__N   s>    +-1 2
 - 4 4 62
 .
* 
r   c                 |   | j                   j                  |      }|y | j                  j                  |j                        }|y |j                  *| j                  |j                  j                  |            S | j                  j                  |j                        }| j                  |j                  |      S r2   )rL   r   rJ   r#   r   rG   r   rM   find_numbering_style_by_id
find_levelrA   )rI   rA   r4   numrH   styles         r   rQ   zNumbering.find_levelY   s    jjnnV$;..2233F3FGL#,,4//0C0C0G0G0NOO??@[@[\u||U;;r   c                 8    | j                   j                  |      S r2   )rK   r   )rI   style_ids     r    find_level_by_paragraph_style_idz*Numbering.find_level_by_paragraph_style_idg   s    1155h??r   c                 J    |y t        |j                  |j                        S )N)r-   r.   )r   r-   r.   )rI   abstract_num_levels     r   rG   zNumbering._to_numbering_levelj   s*    %".::-88 r   N)r%   r&   r'   rN   rQ   rV   rG   r*   r   r   r   r   M   s    	<@r   r   r   )r(   	documentsr   
styles_xmlr   r   r   r   dataobjectr"   r,   r    r6   r   r<   r@   r   EMPTYr*   r   r   <module>r^      s     ' L@
W $6 $ $
 ( ( (	9 %6 % %$ $N "2fllK	r   