o
    .&ßaƒP  ã                   @   sz   d Z ddlZddlZddlZddlmZmZ G dd„ dejƒZdZdZ	efdd	„Z
G d
d„ dejƒZG dd„ dejƒZdS )zã

    Custom docutils writer for plain text.
    Based heavily on the Sphinx text writer.  See copyright below.

    :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.

é    N)ÚnodesÚwritersc                   @   s   e Zd ZdZe d¡ZdS )ÚTextWrapperz;Custom subclass that uses a different word separator regex.zf(\s+|(?<=\s)(?::[a-z-]+:)?`\S+|[^\s\w]*\w+[a-zA-Z]-(?=\w+[a-zA-Z])|(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚreÚcompileÚ
wordsep_re© r   r   ú9/usr/lib/python3/dist-packages/awscli/bcdoc/textwriter.pyr      s
    ÿr   éF   é   c                 K   s   t dd|i|¤Ž}| | ¡S )NÚwidthr   )r   Úwrap)Útextr   ÚkwargsÚwr   r   r   Úmy_wrap    s   
r   c                   @   s,   e Zd ZdZdZi ZdZdd„ Zdd„ ZdS )Ú
TextWriter)r   )zNo options here.Ú r   Nc                 C   s   t j | ¡ d S ©N)r   ÚWriterÚ__init__©Úselfr   r   r   r   ,   ó   zTextWriter.__init__c                 C   s"   t | jƒ}| j |¡ |j| _d S r   )ÚTextTranslatorÚdocumentÚ	walkaboutÚbodyÚoutput)r   Úvisitorr   r   r   Ú	translate/   s   
zTextWriter.translate)	r   r   r   Ú	supportedÚsettings_specÚsettings_defaultsr"   r   r$   r   r   r   r   r   %   s    r   c                   @   s  e Zd ZdZdd„ Zdd„ Zefdd„Zdd	gd
fdd„Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZeZeZdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Zd7d8„ Z d9d:„ Z!d;d<„ Z"d=d>„ Z#d?d@„ Z$dAdB„ Z%dCdD„ Z&dEdF„ Z'dGdH„ Z(dIdJ„ Z)dKdL„ Z*dMdN„ Z+dOdP„ Z,dQdR„ Z-dSdT„ Z.dUdV„ Z/dWdX„ Z0dYdZ„ Z1d[d\„ Z2d]d^„ Z3d_d`„ Z4dadb„ Z5dcdd„ Z6dedf„ Z7dgdh„ Z8didj„ Z9dkdl„ Z:dmdn„ Z;dodp„ Z<dqdr„ Z=dsdt„ Z>dudv„ Z?dwdx„ Z@dydz„ ZAd{d|„ ZBd}d~„ ZCdd€„ ZDd�d‚„ ZEdƒd„„ ZFd…d†„ ZGd‡dˆ„ ZHd‰dŠ„ ZId‹dŒ„ ZJd�dŽ„ ZKd�d�„ ZLd‘d’„ ZMd“d”„ ZNd•d–„ ZOd—d˜„ ZPd™dš„ ZQd›dœ„ ZRd�dž„ ZSdŸd „ ZTd¡d¢„ ZUd£d¤„ ZVd¥d¦„ ZWd§d¨„ ZXd©dª„ ZYd«d¬„ ZZd­d®„ Z[d¯d°„ Z\d±d²„ Z]d³d´„ Z^dµd¶„ Z_d·d¸„ Z`d¹dº„ Zad»d¼„ Zbd½d¾„ Zcd¿dÀ„ ZddÁdÂ„ ZedÃdÄ„ ZfdÅdÆ„ ZgdÇdÈ„ ZhdÉdÊ„ ZidËdÌ„ ZjdÍdÎ„ ZkdÏdÐ„ ZldÑdÒ„ ZmdÓdÔ„ ZndÕdÖ„ Zod×dØ„ ZpdÙdÚ„ ZqdÛdÜ„ ZrdÝdÞ„ Zsdßdà„ Ztdádâ„ Zudãdä„ Zvdådæ„ Zwdçdè„ Zxdédê„ Zydëdì„ Zzdídî„ Z{dïdð„ Z|dñdò„ Z}dódô„ Z~dõdö„ Zd÷dø„ Z€dùdú„ Z�dûdü„ Z‚dýdþ„ Zƒdÿ�d „ Z„�d�d„ Z…�d�d„ Z†�d�d„ Z‡�d�d„ Zˆ�d	�d
„ Z‰�d�d„ ZŠ�d�d„ Z‹�d�d„ ZŒ�d�d„ Z��d�d„ ZŽ�d�d„ Z��d�d„ Z��d�d„ Z‘�d�d„ Z’�d�d„ Z“�d�d „ Z”�d!�d"„ Z•�d#�d$„ Z–�d%�d&„ Z—�d'�d(„ Z˜�d)�d*„ Z™�d+�d,„ Zš�d-�d.„ Z›�d/�d0„ Zœ�d1�d2„ Z��d3�d4„ Zž�d5�d6„ ZŸ�d7�d8„ Z �d9�d:„ Z¡�d;�d<„ Z¢�d=�d>„ Z£�d?�d@„ Z¤�dA�dB„ Z¥�dC�dD„ Z¦�dE�dF„ Z§�dG�dH„ Z¨�dI�dJ„ Z©�dK�dL„ Zª�dM�dN„ Z«�dO�dP„ Z¬�dQ�dR„ Z­�dS�dT„ Z®�dU�dV„ Z¯�dW�dX„ Z°�dY�dZ„ Z±�d[�d\„ Z²�d]�d^„ Z³�d_�d`„ Z´�da�db„ Zµ�dc�dd„ Z¶�de�df„ Z·�dg�dh„ Z¸�di�dj„ Z¹e¸Zºe¹�dkƒZ»e¸Z¼e¹�dlƒZ½e¸Z¾e¹�dmƒZ¿e¸ZÀe¹�dnƒZÁe¸ZÂe¹�doƒZÃe¸ZÄe¹�dpƒZÅe¸ZÆe¹�dqƒZÇe¸ZÈe¹�drƒZÉe¸ZÊe¹�dsƒZË�dt�du„ ZÌd
S (v  r   z*=-~"+`c                 C   s<   t j | |¡ tj| _g g| _dg| _g | _d| _	d | _
d S ©Nr   )r   ÚNodeVisitorr   ÚosÚlinesepÚnlÚstatesÚstateindentÚlist_counterÚsectionlevelÚtable)r   r   r   r   r   r   8   s   
zTextTranslator.__init__c                 C   s   | j d  d|f¡ d S ©Néÿÿÿÿ)r-   Úappend)r   r   r   r   r   Úadd_textB   ó   zTextTranslator.add_textc                 C   s   | j  g ¡ | j |¡ d S r   )r-   r4   r.   )r   Úindentr   r   r   Ú	new_stateE   s   zTextTranslator.new_stateTr   Nc                    sâ   | j  ¡ }t| jƒ‰| j ¡ ‰g ‰g ‰‡ ‡‡‡‡‡fdd„}|D ]\}}|dkr.ˆ |¡ q |ƒ  ˆ ˆ| |f¡ g ‰q |ƒ  |d urgˆrgˆd \}}|rgˆ d|ˆ ||d  gf¡ ||dd … fˆd< | j d  ˆ¡ d S )Nc                     sP   ˆsd S ˆrt d ˆ¡tˆ d�} nd ˆ¡ ¡ } ˆ r| ˆ 7 } ˆ ˆ| f¡ d S )Nr   ©r   )r   ÚjoinÚMAXWIDTHÚ
splitlinesr4   )Úres©Úendr7   Ú	maxindentÚresultÚtoformatr   r   r   Ú	do_formatP   s   z+TextTranslator.end_state.<locals>.do_formatr3   r   é   )r-   ÚpopÚsumr.   r4   ÚinsertÚextend)r   r   r?   ÚfirstÚcontentrC   Ú
itemindentÚitemr   r>   r   Ú	end_stateI   s&   



zTextTranslator.end_statec                 C   ó   |   d¡ d S r(   ©r8   ©r   Únoder   r   r   Úvisit_documenti   ó   zTextTranslator.visit_documentc                 C   s*   |   ¡  | j dd„ | jd D ƒ¡| _d S )Nc                 s   s.   � | ]\}}|D ]}|od | | V  qqdS )ú Nr   )Ú.0r7   ÚlinesÚliner   r   r   Ú	<genexpr>n   s   € þþz1TextTranslator.depart_document.<locals>.<genexpr>r   )rM   r,   r:   r-   r!   rP   r   r   r   Údepart_documentl   s   ÿzTextTranslator.depart_documentc                 C   ó   t j‚r   ©r   ÚSkipNoderP   r   r   r   Úvisit_highlightlangs   ó   z"TextTranslator.visit_highlightlangc                 C   s    | j | j | _|  jd7  _d S ©NrD   )Úsectioncharsr0   Ú_title_charrP   r   r   r   Úvisit_sectionv   s   zTextTranslator.visit_sectionc                 C   s   |  j d8  _ d S r_   )r0   rP   r   r   r   Údepart_sectionz   ó   zTextTranslator.depart_sectionc                 C   rN   r(   rO   rP   r   r   r   Úvisit_topic}   rS   zTextTranslator.visit_topicc                 C   ó   |   ¡  d S r   ©rM   rP   r   r   r   Údepart_topic€   ó   zTextTranslator.depart_topicc                 C   s   |   d¡ |  d¡ d S )Nr   z-[ )r8   r5   rP   r   r   r   Úvisit_rubric†   s   
zTextTranslator.visit_rubricc                 C   s   |   d¡ |  ¡  d S )Nz ]-©r5   rM   rP   r   r   r   Údepart_rubricŠ   s   
zTextTranslator.depart_rubricc                 C   ó   d S r   r   rP   r   r   r   Úvisit_compoundŽ   ó   zTextTranslator.visit_compoundc                 C   rm   r   r   rP   r   r   r   Údepart_compound‘   ro   zTextTranslator.depart_compoundc                 C   rm   r   r   rP   r   r   r   Úvisit_glossary”   ro   zTextTranslator.visit_glossaryc                 C   rm   r   r   rP   r   r   r   Údepart_glossary—   ro   zTextTranslator.depart_glossaryc                 C   s4   t |jtjƒr|  | ¡ d ¡ tj‚|  d¡ d S )Nú: r   )Ú
isinstanceÚparentr   Ú
Admonitionr5   Úastextr\   r8   rP   r   r   r   Úvisit_titleš   s   zTextTranslator.visit_titlec              	   C   sj   t |jtjƒr| j}nd}d dd„ | j ¡ D ƒ¡}| j ¡  | jd  	dd|d|t
|ƒ  dgf¡ d S )Nú^r   c                 s   s$   � | ]}|d  dkr|d V  qdS )r   r3   rD   Nr   ©rU   Úxr   r   r   rX   ¥   s   €" z.TextTranslator.depart_title.<locals>.<genexpr>r3   r   z%s)rt   ru   r   Úsectionra   r:   r-   rE   r.   r4   Úlen)r   rQ   Úcharr   r   r   r   Údepart_title    s   
,zTextTranslator.depart_titlec                 C   rm   r   r   rP   r   r   r   Úvisit_subtitle©   ro   zTextTranslator.visit_subtitlec                 C   rm   r   r   rP   r   r   r   Údepart_subtitle¬   ro   zTextTranslator.depart_subtitlec                 C   rN   )Nz-- ©r5   rP   r   r   r   Úvisit_attribution¯   rS   z TextTranslator.visit_attributionc                 C   rm   r   r   rP   r   r   r   Údepart_attribution²   ro   z!TextTranslator.depart_attributionc                 C   rm   r   r   rP   r   r   r   Ú
visit_descµ   ro   zTextTranslator.visit_descc                 C   rm   r   r   rP   r   r   r   Údepart_desc¸   ro   zTextTranslator.depart_descc                 C   s4   |   d¡ |jd dv r|  d|jd  ¡ d S d S )Nr   Úobjtype)ÚclassÚ	exceptionz%s )r8   ru   r5   rP   r   r   r   Úvisit_desc_signature»   s   
ÿz#TextTranslator.visit_desc_signaturec                 C   s   | j dd d� d S )NF)r   r?   rg   rP   r   r   r   Údepart_desc_signatureÀ   s   z$TextTranslator.depart_desc_signaturec                 C   rm   r   r   rP   r   r   r   Úvisit_desc_nameÄ   ro   zTextTranslator.visit_desc_namec                 C   rm   r   r   rP   r   r   r   Údepart_desc_nameÇ   ro   zTextTranslator.depart_desc_namec                 C   rm   r   r   rP   r   r   r   Úvisit_desc_addnameÊ   ro   z!TextTranslator.visit_desc_addnamec                 C   rm   r   r   rP   r   r   r   Údepart_desc_addnameÍ   ro   z"TextTranslator.depart_desc_addnamec                 C   rm   r   r   rP   r   r   r   Úvisit_desc_typeÐ   ro   zTextTranslator.visit_desc_typec                 C   rm   r   r   rP   r   r   r   Údepart_desc_typeÓ   ro   zTextTranslator.depart_desc_typec                 C   rN   )Nz -> r‚   rP   r   r   r   Úvisit_desc_returnsÖ   rS   z!TextTranslator.visit_desc_returnsc                 C   rm   r   r   rP   r   r   r   Údepart_desc_returnsÙ   ro   z"TextTranslator.depart_desc_returnsc                 C   s   |   d¡ d| _d S )Nú(rD   )r5   Úfirst_paramrP   r   r   r   Úvisit_desc_parameterlistÜ   s   

z'TextTranslator.visit_desc_parameterlistc                 C   rN   )Nú)r‚   rP   r   r   r   Údepart_desc_parameterlistà   rS   z(TextTranslator.depart_desc_parameterlistc                 C   s,   | j s	|  d¡ nd| _ |  | ¡ ¡ tj‚)Nú, r   )r•   r5   rw   r   r\   rP   r   r   r   Úvisit_desc_parameterã   s
   z#TextTranslator.visit_desc_parameterc                 C   rN   )Nú[r‚   rP   r   r   r   Úvisit_desc_optionalë   rS   z"TextTranslator.visit_desc_optionalc                 C   rN   )Nú]r‚   rP   r   r   r   Údepart_desc_optionalî   rS   z#TextTranslator.depart_desc_optionalc                 C   rm   r   r   rP   r   r   r   Úvisit_desc_annotationñ   ro   z$TextTranslator.visit_desc_annotationc                 C   rm   r   r   rP   r   r   r   Údepart_desc_annotationô   ro   z%TextTranslator.depart_desc_annotationc                 C   rm   r   r   rP   r   r   r   Úvisit_refcount÷   ro   zTextTranslator.visit_refcountc                 C   rm   r   r   rP   r   r   r   Údepart_refcountú   ro   zTextTranslator.depart_refcountc                 C   s   |   ¡  |  | j¡ d S r   )r8   r5   r,   rP   r   r   r   Úvisit_desc_contentý   s   z!TextTranslator.visit_desc_contentc                 C   rf   r   rg   rP   r   r   r   Údepart_desc_content  ri   z"TextTranslator.depart_desc_contentc                 C   rf   r   rO   rP   r   r   r   Úvisit_figure  ri   zTextTranslator.visit_figurec                 C   rf   r   rg   rP   r   r   r   Údepart_figure  ri   zTextTranslator.depart_figurec                 C   rm   r   r   rP   r   r   r   Úvisit_caption
  ro   zTextTranslator.visit_captionc                 C   rm   r   r   rP   r   r   r   Údepart_caption  ro   zTextTranslator.depart_captionc                 C   s¦   |   ¡  g }|D ]	}| |d ¡ qtdd„ |D ƒƒ}|D ],}|d r4|  |d  |¡d ¡ |d }n|  ddt|ƒ  ¡ |  | ¡ | j ¡ q| jdd� t	j
‚)	NÚ	tokennamec                 s   s   � | ]}t |ƒV  qd S r   )r}   )rU   Únamer   r   r   rX     ó   € z6TextTranslator.visit_productionlist.<locals>.<genexpr>z ::=z%s    rT   F©r   )r8   r4   Úmaxr5   Úljustr}   rw   r,   rM   r   r\   )r   rQ   ÚnamesÚ
productionÚmaxlenÚlastnamer   r   r   Úvisit_productionlist  s   
z#TextTranslator.visit_productionlistc                 C   rf   r   rO   rP   r   r   r   Úvisit_seealso   ri   zTextTranslator.visit_seealsoc                 C   ó   | j dd� d S )Nr   ©rI   rg   rP   r   r   r   Údepart_seealso#  r   zTextTranslator.depart_seealsoc                 C   s,   |j d  ¡  ¡ | _|  t| jƒd ¡ d S )Nr   r   )Úchildrenrw   ÚstripÚ	_footnoter8   r}   rP   r   r   r   Úvisit_footnote&  s   zTextTranslator.visit_footnotec                 C   ó   | j d| j d� d S ©Nz[%s] r¶   )rM   rº   rP   r   r   r   Údepart_footnote*  ó   zTextTranslator.depart_footnotec                 C   sF   t |ƒrt|d tjƒr|d  ¡ | _nd| _|  t | jƒd ¡ d S )Nr   r   r   )r}   rt   r   Úlabelrw   Ú	_citlabelr8   rP   r   r   r   Úvisit_citation-  s   zTextTranslator.visit_citationc                 C   r¼   r½   )rM   rÁ   rP   r   r   r   Údepart_citation4  r¿   zTextTranslator.depart_citationc                 C   rZ   r   r[   rP   r   r   r   Úvisit_label7  r^   zTextTranslator.visit_labelc                 C   rm   r   r   rP   r   r   r   Úvisit_option_list<  ro   z TextTranslator.visit_option_listc                 C   rm   r   r   rP   r   r   r   Údepart_option_list?  ro   z!TextTranslator.depart_option_listc                 C   rN   r(   rO   rP   r   r   r   Úvisit_option_list_itemB  rS   z%TextTranslator.visit_option_list_itemc                 C   rf   r   rg   rP   r   r   r   Údepart_option_list_itemE  ri   z&TextTranslator.depart_option_list_itemc                 C   s
   d| _ d S )NT)Ú_firstoptionrP   r   r   r   Úvisit_option_groupH  s   
z!TextTranslator.visit_option_groupc                 C   rN   )Nz     r‚   rP   r   r   r   Údepart_option_groupK  rS   z"TextTranslator.depart_option_groupc                 C   s   | j rd| _ d S |  d¡ d S )NFr™   )rÉ   r5   rP   r   r   r   Úvisit_optionN  s   
zTextTranslator.visit_optionc                 C   rm   r   r   rP   r   r   r   Údepart_optionT  ro   zTextTranslator.depart_optionc                 C   rm   r   r   rP   r   r   r   Úvisit_option_stringW  ro   z"TextTranslator.visit_option_stringc                 C   rm   r   r   rP   r   r   r   Údepart_option_stringZ  ro   z#TextTranslator.depart_option_stringc                 C   s   |   |d ¡ d S )NÚ	delimiterr‚   rP   r   r   r   Úvisit_option_argument]  rd   z$TextTranslator.visit_option_argumentc                 C   rm   r   r   rP   r   r   r   Údepart_option_argument`  ro   z%TextTranslator.depart_option_argumentc                 C   rm   r   r   rP   r   r   r   Úvisit_descriptionc  ro   z TextTranslator.visit_descriptionc                 C   rm   r   r   rP   r   r   r   Údepart_descriptionf  ro   z!TextTranslator.depart_descriptionc                 C   rZ   r   r[   rP   r   r   r   Úvisit_tabular_col_speci  r^   z%TextTranslator.visit_tabular_col_specc                 C   s   | j d  |d ¡ tj‚)Nr   Úcolwidth)r1   r4   r   r\   rP   r   r   r   Úvisit_colspecl  s   zTextTranslator.visit_colspecc                 C   rm   r   r   rP   r   r   r   Úvisit_tgroupp  ro   zTextTranslator.visit_tgroupc                 C   rm   r   r   rP   r   r   r   Údepart_tgroups  ro   zTextTranslator.depart_tgroupc                 C   rm   r   r   rP   r   r   r   Úvisit_theadv  ro   zTextTranslator.visit_theadc                 C   rm   r   r   rP   r   r   r   Údepart_theady  ro   zTextTranslator.depart_theadc                 C   ó   | j  d¡ d S )NÚsep©r1   r4   rP   r   r   r   Úvisit_tbody|  r   zTextTranslator.visit_tbodyc                 C   rm   r   r   rP   r   r   r   Údepart_tbody  ro   zTextTranslator.depart_tbodyc                 C   s   | j  g ¡ d S r   rÞ   rP   r   r   r   Ú	visit_row‚  r   zTextTranslator.visit_rowc                 C   rm   r   r   rP   r   r   r   Ú
depart_row…  ro   zTextTranslator.depart_rowc                 C   s&   d|v sd|v rt dƒ‚|  d¡ d S )NÚmorerowsÚmorecolsz1Column or row spanning cells are not implemented.r   )ÚNotImplementedErrorr8   rP   r   r   r   Úvisit_entryˆ  s   zTextTranslator.visit_entryc                    s>   ˆ j  ‡ fdd„ˆ j ¡ D ƒ¡}ˆ j ¡  ˆ jd  |¡ d S )Nc                 3   s    � | ]}ˆ j  |d  ¡V  qdS )rD   N)r,   r:   rz   r   r   r   rX   �  s   € z.TextTranslator.depart_entry.<locals>.<genexpr>r3   )r,   r:   r-   rE   r.   r1   r4   )r   rQ   r   r   r   r   Údepart_entryŽ  s    
zTextTranslator.depart_entryc                 C   s$   | j rtdƒ‚|  d¡ g g| _ d S )Nz Nested tables are not supported.r   )r1   rå   r8   rP   r   r   r   Úvisit_table“  s   
zTextTranslator.visit_tablec                    s   ˆj dd … }g }ˆj d }|d d … ‰ d}|D ]=}|dkr#t|ƒ}qg }t|ƒD ]&\}}	t|	|| d�}
|
r?ttt|
ƒƒ}nd}tˆ | |ƒˆ |< | |
¡ q)| |¡ qd‡ ‡fdd„	}‡ ‡fdd	„}t|ƒD ]\}}|rx||krx|d
ƒ n|dƒ ||ƒ qi|dƒ d ˆ_ ˆjdd� d S )NrD   r   rÝ   r9   ú-c                    sF   dg}ˆ D ]}|  | |d  ¡ |  d¡ qˆ d |¡ˆj ¡ d S )Nú+é   r   )r4   r5   r:   r,   )r~   Úoutr   ©Ú
realwidthsr   r   r   Úwritesep¯  s
   z-TextTranslator.depart_table.<locals>.writesepc              	      s†   t | Ž }|D ]:}dg}t|ƒD ]%\}}|r$| d| ˆ | d ¡ ¡ n| dˆ | d  ¡ | d¡ qˆ d |¡ˆj ¡ qd S )Nú|rT   rD   rë   r   )ÚzipÚ	enumerater4   r®   r5   r:   r,   )ÚrowrV   rW   rì   ÚiÚcellrí   r   r   Úwriterow¶  s   øz-TextTranslator.depart_table.<locals>.writerowú=Fr¬   )ré   )r1   r}   rò   r   r­   Úmapr4   rM   )r   rQ   rV   Ú
fmted_rowsÚ	colwidthsÚ	separatorrW   Úcellsrô   rõ   ÚparÚmaxwidthrï   rö   ró   r   rí   r   Údepart_table™  s6   



zTextTranslator.depart_tablec                 C   s>   |   d¡ |  d dd„ |jd jD ƒ¡d ¡ |  ¡  tj‚)Nr   r™   c                 s   s   � | ]}|  ¡ V  qd S r   )rw   )rU   Únr   r   r   rX   Ï  r«   z,TextTranslator.visit_acks.<locals>.<genexpr>Ú.)r8   r5   r:   r¸   rM   r   r\   rP   r   r   r   Ú
visit_acksÌ  s   
ÿzTextTranslator.visit_acksc                 C   s4   d|j v r|  tdƒ|d  ¡ |  tdƒ¡ tj‚)NÚaltz[image: %s]z[image])Ú
attributesr5   Ú_r   r\   rP   r   r   r   Úvisit_imageÓ  s   
zTextTranslator.visit_imagec                 C   s4   t | jƒ}|  d¡ |  dt|  ¡ |  ¡  tj‚)Nr   r÷   )rF   r.   r8   r5   r;   rM   r   r\   )r   rQ   r7   r   r   r   Úvisit_transitionÙ  s
   

zTextTranslator.visit_transitionc                 C   rÜ   r2   ©r/   r4   rP   r   r   r   Úvisit_bullet_listà  r   z TextTranslator.visit_bullet_listc                 C   ó   | j  ¡  d S r   ©r/   rE   rP   r   r   r   Údepart_bullet_listã  rS   z!TextTranslator.depart_bullet_listc                 C   rÜ   r(   r  rP   r   r   r   Úvisit_enumerated_listæ  r   z$TextTranslator.visit_enumerated_listc                 C   r
  r   r  rP   r   r   r   Údepart_enumerated_listé  rS   z%TextTranslator.depart_enumerated_listc                 C   rÜ   )Néþÿÿÿr  rP   r   r   r   Úvisit_definition_listì  r   z$TextTranslator.visit_definition_listc                 C   r
  r   r  rP   r   r   r   Údepart_definition_listï  rS   z%TextTranslator.depart_definition_listc                 C   s`   | j d dkr|  d¡ d S | j d dkrd S | j d  d7  < |  tt| j d ƒƒd ¡ d S )Nr3   rë   r  rD   )r/   r8   r}   ÚstrrP   r   r   r   Úvisit_list_itemò  s    zTextTranslator.visit_list_itemc                 C   sN   | j d dkr| jdd d� d S | j d dkrd S | jd| j d  d d� d S )Nr3   z* )rI   r?   r  z%s. )r/   rM   rP   r   r   r   Údepart_list_itemþ  s
   zTextTranslator.depart_list_itemc                 C   s"   t |ƒdkot|d tjƒ| _d S )Nrë   rD   )r}   rt   r   Ú
classifierÚ_li_has_classifierrP   r   r   r   Úvisit_definition_list_item  s   ÿz)TextTranslator.visit_definition_list_itemc                 C   rm   r   r   rP   r   r   r   Údepart_definition_list_item
  ro   z*TextTranslator.depart_definition_list_itemc                 C   rN   r(   rO   rP   r   r   r   Ú
visit_term  rS   zTextTranslator.visit_termc                 C   s   | j s| jd d� d S d S ©N©r?   )r  rM   rP   r   r   r   Údepart_term  s   ÿzTextTranslator.depart_termc                 C   s   |   d¡ tj‚)Nr™   )r5   r   r\   rP   r   r   r   Úvisit_termsep  s   
zTextTranslator.visit_termsepc                 C   rN   )Nz : r‚   rP   r   r   r   Úvisit_classifier  rS   zTextTranslator.visit_classifierc                 C   s   | j d d� d S r  rg   rP   r   r   r   Údepart_classifier  r   z TextTranslator.depart_classifierc                 C   rf   r   rO   rP   r   r   r   Úvisit_definition  ri   zTextTranslator.visit_definitionc                 C   rf   r   rg   rP   r   r   r   Údepart_definition!  ri   z TextTranslator.depart_definitionc                 C   rm   r   r   rP   r   r   r   Úvisit_field_list$  ro   zTextTranslator.visit_field_listc                 C   rm   r   r   rP   r   r   r   Údepart_field_list'  ro   z TextTranslator.depart_field_listc                 C   rm   r   r   rP   r   r   r   Úvisit_field*  ro   zTextTranslator.visit_fieldc                 C   rm   r   r   rP   r   r   r   Údepart_field-  ro   zTextTranslator.depart_fieldc                 C   rN   r(   rO   rP   r   r   r   Úvisit_field_name0  rS   zTextTranslator.visit_field_namec                 C   s   |   d¡ | jd d� d S )Nú:r  rk   rP   r   r   r   Údepart_field_name3  s   
z TextTranslator.depart_field_namec                 C   rf   r   rO   rP   r   r   r   Úvisit_field_body7  ri   zTextTranslator.visit_field_bodyc                 C   rf   r   rg   rP   r   r   r   Údepart_field_body:  ri   z TextTranslator.depart_field_bodyc                 C   rm   r   r   rP   r   r   r   Úvisit_centered=  ro   zTextTranslator.visit_centeredc                 C   rm   r   r   rP   r   r   r   Údepart_centered@  ro   zTextTranslator.depart_centeredc                 C   rm   r   r   rP   r   r   r   Úvisit_hlistC  ro   zTextTranslator.visit_hlistc                 C   rm   r   r   rP   r   r   r   Údepart_hlistF  ro   zTextTranslator.depart_hlistc                 C   rm   r   r   rP   r   r   r   Úvisit_hlistcolI  ro   zTextTranslator.visit_hlistcolc                 C   rm   r   r   rP   r   r   r   Údepart_hlistcolL  ro   zTextTranslator.depart_hlistcolc                 C   rN   r(   rO   rP   r   r   r   Úvisit_admonitionO  rS   zTextTranslator.visit_admonitionc                 C   rf   r   rg   rP   r   r   r   Údepart_admonitionR  ri   z TextTranslator.depart_admonitionc                 C   rN   r(   rO   rP   r   r   r   Úvisit_versionmodifiedU  rS   z$TextTranslator.visit_versionmodifiedc                 C   rf   r   rg   rP   r   r   r   Údepart_versionmodifiedX  ri   z%TextTranslator.depart_versionmodifiedc                 C   rf   r   rO   rP   r   r   r   Úvisit_literal_block[  ri   z"TextTranslator.visit_literal_blockc                 C   rµ   ©NFr¬   rg   rP   r   r   r   Údepart_literal_block^  r   z#TextTranslator.depart_literal_blockc                 C   rN   r(   rO   rP   r   r   r   Úvisit_doctest_blocka  rS   z"TextTranslator.visit_doctest_blockc                 C   rµ   r6  rg   rP   r   r   r   Údepart_doctest_blockd  r   z#TextTranslator.depart_doctest_blockc                 C   rN   r(   rO   rP   r   r   r   Úvisit_line_blockg  rS   zTextTranslator.visit_line_blockc                 C   rµ   r6  rg   rP   r   r   r   Údepart_line_blockj  r   z TextTranslator.depart_line_blockc                 C   rm   r   r   rP   r   r   r   Ú
visit_linem  ro   zTextTranslator.visit_linec                 C   rm   r   r   rP   r   r   r   Údepart_linep  ro   zTextTranslator.depart_linec                 C   rf   r   rO   rP   r   r   r   Úvisit_block_quotes  ri   z TextTranslator.visit_block_quotec                 C   rf   r   rg   rP   r   r   r   Údepart_block_quotev  ri   z!TextTranslator.depart_block_quotec                 C   rm   r   r   rP   r   r   r   Úvisit_compact_paragraphy  ro   z&TextTranslator.visit_compact_paragraphc                 C   rm   r   r   rP   r   r   r   Údepart_compact_paragraph|  ro   z'TextTranslator.depart_compact_paragraphc                 C   rN   r(   rO   rP   r   r   r   Úvisit_paragraph  rS   zTextTranslator.visit_paragraphc                 C   rf   r   rg   rP   r   r   r   Údepart_paragraph‚  ri   zTextTranslator.depart_paragraphc                 C   rZ   r   r[   rP   r   r   r   Úvisit_target…  r^   zTextTranslator.visit_targetc                 C   rZ   r   r[   rP   r   r   r   Úvisit_indexˆ  r^   zTextTranslator.visit_indexc                 C   rZ   r   r[   rP   r   r   r   Úvisit_substitution_definition‹  r^   z,TextTranslator.visit_substitution_definitionc                 C   rm   r   r   rP   r   r   r   Úvisit_pending_xrefŽ  ro   z!TextTranslator.visit_pending_xrefc                 C   rm   r   r   rP   r   r   r   Údepart_pending_xref‘  ro   z"TextTranslator.depart_pending_xrefc                 C   rm   r   r   rP   r   r   r   Úvisit_reference”  ro   zTextTranslator.visit_referencec                 C   rm   r   r   rP   r   r   r   Údepart_reference—  ro   zTextTranslator.depart_referencec                 C   rm   r   r   rP   r   r   r   Úvisit_download_referenceš  ro   z'TextTranslator.visit_download_referencec                 C   rm   r   r   rP   r   r   r   Údepart_download_reference�  ro   z(TextTranslator.depart_download_referencec                 C   rN   ©NÚ*r‚   rP   r   r   r   Úvisit_emphasis   rS   zTextTranslator.visit_emphasisc                 C   rN   rM  r‚   rP   r   r   r   Údepart_emphasis£  rS   zTextTranslator.depart_emphasisc                 C   rN   rM  r‚   rP   r   r   r   Úvisit_literal_emphasis¦  rS   z%TextTranslator.visit_literal_emphasisc                 C   rN   rM  r‚   rP   r   r   r   Údepart_literal_emphasis©  rS   z&TextTranslator.depart_literal_emphasisc                 C   rN   ©Nz**r‚   rP   r   r   r   Úvisit_strong¬  rS   zTextTranslator.visit_strongc                 C   rN   rS  r‚   rP   r   r   r   Údepart_strong¯  rS   zTextTranslator.depart_strongc                 C   rN   )Nr   r‚   rP   r   r   r   Úvisit_abbreviation²  rS   z!TextTranslator.visit_abbreviationc                 C   s$   |  d¡r|  d|d  ¡ d S d S )NÚexplanationz (%s))Úhasattrr5   rP   r   r   r   Údepart_abbreviationµ  s   
ÿz"TextTranslator.depart_abbreviationc                 C   rN   rM  r‚   rP   r   r   r   Úvisit_title_reference¹  rS   z$TextTranslator.visit_title_referencec                 C   rN   rM  r‚   rP   r   r   r   Údepart_title_reference¼  rS   z%TextTranslator.depart_title_referencec                 C   rN   ©Nú"r‚   rP   r   r   r   Úvisit_literal¿  rS   zTextTranslator.visit_literalc                 C   rN   r\  r‚   rP   r   r   r   Údepart_literalÂ  rS   zTextTranslator.depart_literalc                 C   rN   )Nr  r‚   rP   r   r   r   Úvisit_subscriptÅ  rS   zTextTranslator.visit_subscriptc                 C   rm   r   r   rP   r   r   r   Údepart_subscriptÈ  ro   zTextTranslator.depart_subscriptc                 C   rN   )Nry   r‚   rP   r   r   r   Úvisit_superscriptË  rS   z TextTranslator.visit_superscriptc                 C   rm   r   r   rP   r   r   r   Údepart_superscriptÎ  ro   z!TextTranslator.depart_superscriptc                 C   ó   |   d| ¡  ¡ tj‚©Nz[%s]©r5   rw   r   r\   rP   r   r   r   Úvisit_footnote_referenceÑ  ó   z'TextTranslator.visit_footnote_referencec                 C   rd  re  rf  rP   r   r   r   Úvisit_citation_referenceÕ  rh  z'TextTranslator.visit_citation_referencec                 C   s   |   | ¡ ¡ d S r   )r5   rw   rP   r   r   r   Ú
visit_TextÙ  rd   zTextTranslator.visit_Textc                 C   rm   r   r   rP   r   r   r   Údepart_TextÜ  ro   zTextTranslator.depart_Textc                 C   rm   r   r   rP   r   r   r   Úvisit_generatedß  ro   zTextTranslator.visit_generatedc                 C   rm   r   r   rP   r   r   r   Údepart_generatedâ  ro   zTextTranslator.depart_generatedc                 C   rm   r   r   rP   r   r   r   Úvisit_inlineå  ro   zTextTranslator.visit_inlinec                 C   rm   r   r   rP   r   r   r   Údepart_inlineè  ro   zTextTranslator.depart_inlinec                 C   rN   )Nz>>r‚   rP   r   r   r   Úvisit_problematicë  rS   z TextTranslator.visit_problematicc                 C   rN   )Nz<<r‚   rP   r   r   r   Údepart_problematicî  rS   z!TextTranslator.depart_problematicc                 C   s*   |   d¡ |  d| ¡  ¡ |  ¡  tj‚)Nr   z<SYSTEM MESSAGE: %s>)r8   r5   rw   rM   r   r\   rP   r   r   r   Úvisit_system_messageñ  s   
z#TextTranslator.visit_system_messagec                 C   rZ   r   r[   rP   r   r   r   Úvisit_comment÷  r^   zTextTranslator.visit_commentc                 C   rZ   r   r[   rP   r   r   r   Ú
visit_metaú  s   zTextTranslator.visit_metac                 C   s*   d|  dd¡ ¡ v r| j | ¡ ¡ tj‚)Nr   Úformatr   )ÚgetÚsplitr!   r4   rw   r   r\   rP   r   r   r   Ú	visit_rawþ  s   zTextTranslator.visit_rawc                 C   rN   )Nrë   rO   rP   r   r   r   Ú_visit_admonition  rS   z TextTranslator._visit_admonitionc                    s   ‡ fdd„}|S )Nc                    s   | j ˆ  ¡ d d� d S )Nrs   r¶   )rM   Ú
capitalizerP   ©rª   r   r   r2    r6   zATextTranslator._make_depart_admonition.<locals>.depart_admonitionr   )rª   r2  r   r{  r   Ú_make_depart_admonition  s   z&TextTranslator._make_depart_admonitionÚ	attentionÚcautionÚdangerÚerrorÚhintÚ	importantÚnoteÚtipÚwarningc                 C   s   t d|jj ƒ‚)NzUnknown node: )rå   Ú	__class__r   rP   r   r   r   Úunknown_visit  r   zTextTranslator.unknown_visit)Ír   r   r   r`   r   r5   Ú	STDINDENTr8   rM   rR   rY   r]   rb   rc   re   rh   Úvisit_sidebarÚdepart_sidebarrj   rl   rn   rp   rq   rr   rx   r   r€   r�   rƒ   r„   r…   r†   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r’   r“   r–   r˜   rš   rœ   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r³   r´   r·   r»   r¾   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÊ   rË   rÌ   rÍ   rÎ   rÏ   rÑ   rÒ   rÓ   rÔ   rÕ   r×   rØ   rÙ   rÚ   rÛ   rß   rà   rá   râ   ræ   rç   rè   rÿ   r  r  r  r	  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r7  r8  r9  r:  r;  r<  r=  r>  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rO  rP  rQ  rR  rT  rU  rV  rY  rZ  r[  r^  r_  r`  ra  rb  rc  rg  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  rx  ry  r|  Úvisit_attentionÚdepart_attentionÚvisit_cautionÚdepart_cautionÚvisit_dangerÚdepart_dangerÚvisit_errorÚdepart_errorÚ
visit_hintÚdepart_hintÚvisit_importantÚdepart_importantÚ
visit_noteÚdepart_noteÚ	visit_tipÚ
depart_tipÚvisit_warningÚdepart_warningr‡  r   r   r   r   r   5   s”   
 	3









r   )r   r*   r	   ÚtextwrapÚdocutilsr   r   r   r;   rˆ  r   r   r   r)   r   r   r   r   r   Ú<module>   s   	
