
    N&i                         d Z ddlZddlmZmZ 	 ddlmZ n,# e$ r$ZdZ G d dej	        j
                  Z
Y dZ[ndZ[ww xY w	 ddlmZ n# e$ r  G d d	ej                  ZY nw xY wer G d
 de          Z
dS dS )z
A parser for CommonMark MarkDown text using `recommonmark`__.

__ https://pypi.org/project/recommonmark/

This module is provisional:
the API is not settled and may change with any minor Docutils version.
    N)nodes	Component)CommonMarkParserc                       e Zd Zd ZdS )Parserc                 d    |j                             d          }|                    |           d S )NzMissing dependency: MarkDown input is processed by a 3rd party parser but Python did not find the required module "recommonmark" (https://pypi.org/project/recommonmark/).)reporterwarningappend)selfinputstringdocumenterrors       r/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/docutils/parsers/recommonmark_wrapper.pyparsezParser.parse    s<    %--KL LE OOE"""""    N)__name__
__module____qualname__r    r   r   r   r      s#        	# 	# 	# 	# 	#r   r   )addnodesc                       e Zd ZdS )r   N)r   r   r   r   r   r   r   r   /   s          r   r   c                   6    e Zd ZdZdZdZdZd Zd Zd Z	d Z
d	S )
r   zMarkDown parser based on recommonmark.
        
        This parser is provisional:
        the API is not settled and may change with any minor Docutils version.
        )recommonmark
commonmarkmarkdownmdzrecommonmark parser)parsersc                 *    t          j        |           S N)r   get_transforms)r   s    r   r!   zParser.get_transforms=   s    +D111r   c           	      	   t          |                    d                    D ]Z\  }}t          |          |j        j        k    r8|j                            d|dz   z            }|                    |            dS [	 t          j	        | ||           nI# t          $ r<}|j                            d|z            }|                    |           Y d}~nd}~ww xY w|                    t          j                  D ]}|j        }d}|dz   t          |          k     rt          ||         t          j                  rgt          ||dz            t          j                  rDt          j        ||         |                    |dz             z             ||<   |||         _        n|dz  }|dz   t          |          k     |                    d           D ]}|d                             d	           |                    t          j                  D ]/}d
|j        v r$|d                             |d
                    |d
= 0t+          |                    t          j                            D ]\}d |d         D             |d<   |j        s#d |j                                        D             rB|j                            |           ]|j        j        sW|                    t          j                  D ]7}|j                            d          }	|j                            ||	           8|                    t          j                  D ]}t          |d                   dk    r|d                                          d|v r|                     |          }
|d         |
k    rj|j                            d|d         |
fz  t          j        d|d                                                             }	|                     d|	           |d= |                    tB          j"                  D ]W}|j        d         }d|vr)t          j#        |                                          |d<   |j                            ||           XdS )z=Use the upstream parser and clean up afterwards.
            
z&Line %d exceeds the line-length-limit.   Nz2Parsing with "recommonmark" returned the error:
%sr   c                 N    t          | t          j        t          j        f          S r    )
isinstancer   literalliteral_block)ns    r   <lambda>zParser.parse.<locals>.<lambda>c   s!    :a%*]E4G$H4J 4J r   classescodelanguagec                     g | ]}||S r   r   .0vs     r   
<listcomp>z Parser.parse.<locals>.<listcomp>o   s     ? ? ?qQ ? ? ? ?r   namesc                     g | ]}||S r   r   r/   s     r   r2   z Parser.parse.<locals>.<listcomp>p   s    $N$N$N1A$NQ$N$N$Nr   zRaw content disabled.idslevelz1Title level inconsistent. Changing from %d to %d. name)$	enumeratesplitlensettingsline_length_limitr	   r   r   r   r   	Exceptionfindallr   TextElementchildrenr&   Textpopparentr(   
attributeslisttargetvaluesremoveraw_enabledrawr
   replacesectionget_section_levelastextinsertr   pending_xreffully_normalize_name)r   r   r   iliner   errnoderA   r
   section_level	references               r   r   zParser.parse@   s    %[%6%6t%<%<==  4t99x0BBB$-33@!A#FH HEOOE***FF	 C' &t[(CCCC ' ' ' )// 1JJM1N O O&&&&&&&&' !(():;; 	 	=cCMM))"8A;
;; &x!}ejAA&+j!X\\!A#=N=N1N&O&O-1**Q cCMM)) !(( *J *J K K / /Y&&v.... (()<== ) )00O**4
+;<<<Z( X--el;;<< ) ) ? ?DM ? ? ?W= $N$N0F0F0H0H$N$N$N ""4(((( $0 7$,,UY77 7 7D&/778OPPGK''g6666 !((77 * *tE{##a''KOO%%% d??$($:$:4$@$@MG}55"*"3";";O"7m];<!/DGNN4D4DEE#G #G Aw/// M !(()>?? 5 5 M!,	**(-(B8A8H8H8J8J)L )LIf%##D)44445 5s   ?B 
C 2CCc                     d}	 |j         }t          |t          j                  r|S t          |t          j                  r|dz  }C)z6Auxiliary function for post-processing in self.parse()r$   )rD   r&   r   r   rM   )r   rV   r6   s      r   rN   zParser.get_section_level   sN    E{dEN33 ! LdEM22 QJEr   c                     dS )zDummy function to prevent spurious warnings.

            cf. https://github.com/readthedocs/recommonmark/issues/177
            Nr   )r   rV   s     r   visit_documentzParser.visit_document   s	    
 Dr   N)r   r   r   __doc__	supportedconfig_sectionconfig_section_dependenciesr!   r   rN   r[   r   r   r   r   r   3   sq        	 	
 E	.&2#	2 	2 	2R	5 R	5 R	5h	 	 		 	 	 	 	r   )r\   docutils.parsersdocutilsr   r   recommonmark.parserr   ImportErrorrU   r   r   sphinxr   pendingr   r   r   <module>rf      sj        % % % % % % % %
#4444444 # # ## # # # #!( # # # # # # # ##( ( ( ('''''5='''''(
  qp p p p p! p p p p pq qs$    A ;A A A&%A&