o
    .&ßa9.  ã                   @   s6   d dl Z e  d¡ZG dd„ deƒZG dd„ deƒZdS )é    NÚbcdocsc                   @   s‚   e Zd Zddd„Zedd„ ƒZejdd„ ƒZdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zddd„Zdd„ Zdd„ Zdd„ Zdd„ ZdS )Ú	BaseStyleé   c                 C   s   || _ || _d| _d| _d S )Nr   T)ÚdocÚindent_widthÚ_indentÚ	keep_data©Úselfr   r   © r   ú;/usr/lib/python3/dist-packages/botocore/docs/bcdoc/style.pyÚ__init__   s   
zBaseStyle.__init__c                 C   s   | j S ©N©r   ©r
   r   r   r   Úindentation   s   zBaseStyle.indentationc                 C   s
   || _ d S r   r   )r
   Úvaluer   r   r   r      s   
c                 C   s   d|   ¡  S ©Nz
%s)Úspacesr   r   r   r   Únew_paragraph#   ó   zBaseStyle.new_paragraphc                 C   s   |  j d7  _ d S )Né   r   r   r   r   r   Úindent&   s   zBaseStyle.indentc                 C   s    | j dkr|  j d8  _ d S d S ©Nr   r   r   r   r   r   r   Údedent)   s   
ÿzBaseStyle.dedentc                 C   s   d| j | j  S ©Nú )r   r   r   r   r   r   r   -   ó   zBaseStyle.spacesc                 C   ó   |S r   r   ©r
   Úsr   r   r   Úbold0   ó   zBaseStyle.boldNc                 C   r   r   r   )r
   ÚlinkÚtitler   r   r   Úref3   r"   zBaseStyle.refc                 C   r   r   r   r   r   r   r   Úh26   r"   zBaseStyle.h2c                 C   r   r   r   r   r   r   r   Úh39   r"   zBaseStyle.h3c                 C   r   r   r   r   r   r   r   Ú	underline<   r"   zBaseStyle.underlinec                 C   r   r   r   r   r   r   r   Úitalics?   r"   zBaseStyle.italics©r   r   )Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   Úsetterr   r   r   r   r!   r%   r&   r'   r(   r)   r   r   r   r   r      s     



r   c                   @   s0  e Zd Zd�dd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zd‚dd„Zdd„ Z	d‚dd„Z
dd„ Zdd„ Zd‚dd„Zdd„ Zdd„ Zdd„ Zdd „ Zd‚d!d"„Zd#d$„ Zd%d&„ Zd‚d'd(„Zd)d*„ Zd‚d+d,„Zd-d.„ Zd/d0„ Zd‚d1d2„Zd3d4„ Zd‚d5d6„Zd7d8„ Zd‚d9d:„Zd;d<„ Zd‚d=d>„Z d?d@„ Z!d‚dAdB„Z"dCdD„ Z#d‚dEdF„Z$dGdH„ Z%d‚dIdJ„Z&dKdL„ Z'dMdN„ Z(d‚dOdP„Z)dQdR„ Z*d‚dSdT„Z+dUdV„ Z,d‚dWdX„Z-dYdZ„ Z.d‚d[d\„Z/d]d^„ Z0d‚d_d`„Z1dadb„ Z2dcdd„ Z3dedf„ Z4d‚dgdh„Z5didj„ Z6dkdl„ Z7dƒdmdn„Z8dodp„ Z9dqdr„ Z:d‚dsdt„Z;dudv„ Z<dwdx„ Z=dydz„ Z>d{d|„ Z?d}d~„ Z@dd€„ ZAdS )„Ú	ReSTStyler   c                 C   s$   t  | ||¡ d| _d | _d| _d S )NTr   )r   r   Údo_pÚa_hrefÚ
list_depthr	   r   r   r   r   E   s   
zReSTStyle.__init__c                 C   ó   | j  d|  ¡  ¡ d S ©Nz

%s©r   Úwriter   r   r   r   r   r   K   ó   zReSTStyle.new_paragraphc                 C   r4   r   r6   r   r   r   r   Únew_lineN   r8   zReSTStyle.new_linec                 C   s   | j  |¡ d S r   ©r   r7   )r
   Úmarkupr   r   r   Ú_start_inlineQ   r   zReSTStyle._start_inlinec                 C   s<   | j  ¡  d¡}||krd S | j  |¡ | j  |d ¡ d S r   )r   Ú	pop_writeÚrstripÚ
push_writer7   )r
   r;   Ú
last_writer   r   r   Ú_end_inlineT   s
   zReSTStyle._end_inlineNc                 C   ó   |   d¡ d S ©Nz**©r<   ©r
   Úattrsr   r   r   Ú
start_boldg   ó   zReSTStyle.start_boldc                 C   rB   rC   ©rA   r   r   r   r   Úend_boldj   rH   zReSTStyle.end_boldc                 C   s   d| j _|  |¡ d S ©NT)r   Údo_translationrG   rE   r   r   r   Ústart_bm   ó   zReSTStyle.start_bc                 C   ó   d| j _|  ¡  d S ©NF)r   rL   rJ   r   r   r   r   Úend_bq   ó   zReSTStyle.end_bc                 C   ó(   |r|   ¡  | j |¡ |  ¡  d S d S r   )rG   r   r7   rJ   r   r   r   r   r!   u   ó
   ýzReSTStyle.boldc                 C   s$   |d u r|}| j  d||f ¡ d S )Nú:doc:`%s <%s>`r:   ©r
   r$   r#   r   r   r   r%   {   s   zReSTStyle.refc                 C   s6   |t |ƒ }|  ¡  | j d|||f ¡ |  ¡  d S )Nz%s
%s
%s)Úlenr   r   r7   )r
   r    Úborder_charÚborderr   r   r   Ú_heading€   s   zReSTStyle._headingc                 C   ó   |   |d¡ d S ©NÚ*©rZ   r   r   r   r   Úh1†   r   zReSTStyle.h1c                 C   r[   )Nú=r^   r   r   r   r   r&   ‰   r   zReSTStyle.h2c                 C   r[   )Nú-r^   r   r   r   r   r'   Œ   r   zReSTStyle.h3c                 C   rB   r\   rD   rE   r   r   r   Ústart_italics�   rH   zReSTStyle.start_italicsc                 C   rB   r\   rI   r   r   r   r   Úend_italics’   rH   zReSTStyle.end_italicsc                 C   rS   r   )rb   r   r7   rc   r   r   r   r   r)   •   rT   zReSTStyle.italicsc                 C   ó"   | j r| j d|  ¡  ¡ d S d S r5   ©r1   r   r7   r   rE   r   r   r   Ústart_p›   ó   ÿzReSTStyle.start_pc                 C   rd   r5   re   r   r   r   r   Úend_pŸ   rg   zReSTStyle.end_pc                 C   ó   d| j _|  d¡ d S )NTú``)r   rL   r<   rE   r   r   r   Ú
start_code£   rN   zReSTStyle.start_codec                 C   ri   )NFrj   )r   rL   rA   r   r   r   r   Úend_code§   rN   zReSTStyle.end_codec                 C   rS   r   )rk   r   r7   rl   r   r   r   r   Úcode«   rT   zReSTStyle.codec                 C   ó(   |   ¡  | j d¡ |  ¡  |   ¡  d S )Nz	.. note::©r   r   r7   r   rE   r   r   r   Ú
start_note±   ó   zReSTStyle.start_notec                 C   ó   |   ¡  |  ¡  d S r   ©r   r   r   r   r   r   Úend_note·   rR   zReSTStyle.end_notec                 C   rn   )Nz.. warning::ro   rE   r   r   r   Ústart_important»   rq   zReSTStyle.start_importantc                 C   rr   r   rs   r   r   r   r   Úend_importantÁ   rR   zReSTStyle.end_importantc                 C   rn   )Nz.. danger::ro   rE   r   r   r   Ústart_dangerÅ   rq   zReSTStyle.start_dangerc                 C   rr   r   rs   r   r   r   r   Ú
end_dangerË   rR   zReSTStyle.end_dangerc                 C   sF   |r|D ]\}}|dkr|| _ | j d¡ qn| j d¡ d| j_d S )NÚhrefú`r   T)r2   r   r7   rL   )r
   rF   Úattr_keyÚ
attr_valuer   r   r   Ústart_aÏ   s   €ý	zReSTStyle.start_ac                 C   s   | j  d||f ¡ d S )Nz
.. _%s: %s)r   Úwriteln)r
   Úrefnamer#   r   r   r   Úlink_target_definitionÝ   r8   z ReSTStyle.link_target_definitionc                 C   s@   |d u r|}| j jdkr| j  d||f ¡ d S | j  |¡ d S )NÚhtmlz:ref:`%s <%s>`©r   Útargetr7   )r
   ÚlabelÚtextr   r   r   Úsphinx_reference_labelà   s
   z ReSTStyle.sphinx_reference_labelc                 C   s¾   d| j _| jrW| j  ¡ }| d¡}|r1|dkr1d|v r!| dd¡}| j  |¡ | j  d| j ¡ n#|dkr?| j  d| j ¡ n| j  | j¡ | j| j j| j< | j  d¡ d | _| j  d¡ d S )	NFr   rz   ú:z\:z <%s>`__z`<%s>`__z`__)	r   rL   r2   r=   r>   Úreplacer?   Úhrefsr7   )r
   r@   r   r   r   Úend_aè   s    

zReSTStyle.end_ac                 C   rO   rK   )r   rL   rb   rE   r   r   r   Ústart_i   rR   zReSTStyle.start_ic                 C   rO   rP   )r   rL   rc   r   r   r   r   Úend_i  rR   zReSTStyle.end_ic                 C   s   |   ¡  d| _| j d¡ d S )NFz* )r9   r1   r   r7   rE   r   r   r   Ústart_li  s   zReSTStyle.start_lic                 C   s   d| _ |  ¡  d S rK   )r1   r9   r   r   r   r   Úend_li  s   zReSTStyle.end_lic                 C   rS   r   )r�   r   r~   rŽ   r   r   r   r   Úli  rT   zReSTStyle.lic                 C   ó,   | j dkr	|  ¡  |  j d7  _ |  ¡  d S r   ©r3   r   r   rE   r   r   r   Ústart_ul  s   
zReSTStyle.start_ulc                 C   ó,   |  j d8  _ | j dkr|  ¡  |  ¡  d S ©Nr   r   ©r3   r   r   r   r   r   r   Úend_ul  ó   
zReSTStyle.end_ulc                 C   r�   r   r‘   rE   r   r   r   Ústart_ol#  s   
zReSTStyle.start_olc                 C   r“   r”   r•   r   r   r   r   Úend_ol*  r—   zReSTStyle.end_olc                 C   ó   d| j _d S rP   ©r   r   rE   r   r   r   Ústart_examples0  r   zReSTStyle.start_examplesc                 C   rš   rK   r›   r   r   r   r   Úend_examples3  r   zReSTStyle.end_examplesc                 C   rš   rP   r›   rE   r   r   r   Ústart_fullname6  r   zReSTStyle.start_fullnamec                 C   rš   rK   r›   r   r   r   r   Úend_fullname9  r   zReSTStyle.end_fullnamec                 C   s    | j  d¡ |  ¡  |  ¡  d S )Nz::)r   r7   r   r   rE   r   r   r   Ústart_codeblock<  s   zReSTStyle.start_codeblockc                 C   rr   r   rs   r   r   r   r   Úend_codeblockA  rR   zReSTStyle.end_codeblockc                 C   s    |   ¡  | j |¡ |  ¡  dS )zò
        Literal code blocks are introduced by ending a paragraph with
        the special marker ::.  The literal block must be indented
        (and, like all paragraphs, separated from the surrounding
        ones by blank lines).
        N)r    r   r~   r¡   )r
   rm   r   r   r   Ú	codeblockE  s   zReSTStyle.codeblockc                 C   s@   | j jdkr| j  d¡ | j  d¡ | j  d¡ d S |  ¡  d S )Nr�   ú
.. toctree::
ú  :maxdepth: 1
z  :titlesonly:

)r   rƒ   r7   r’   r   r   r   r   ÚtoctreeP  s
   zReSTStyle.toctreec                 C   sF   | j jdkr|  |¡ d S |r| j  d| ¡ d S | j  d| ¡ d S )NÚmanz  %s)r   rƒ   r�   r~   )r
   ÚitemÚ	file_namer   r   r   ÚtocitemX  s
   zReSTStyle.tocitemc                 C   s8   | j jdkr| j  d¡ | j  d¡ | j  d¡ d S d S )Nr�   r£   r¤   z  :hidden:

r‚   r   r   r   r   Úhidden_toctreea  s
   ýzReSTStyle.hidden_toctreec                 C   s   | j jdkr|  |¡ d S d S )Nr�   )r   rƒ   r©   )r
   r§   r   r   r   Úhidden_tocitemg  s   ÿzReSTStyle.hidden_tocitemc                 C   s@   | j  d¡ |d ur| j  |¡ |d ur| j  d| ¡ d S d S )Nz.. contents:: z   :depth: %s)r   r7   r~   )r
   r$   Údepthr   r   r   Útable_of_contentsk  s   ÿzReSTStyle.table_of_contentsc                 C   ó,   |   ¡  | j d| ¡ |  ¡  |   ¡  d S )Nz.. py:class:: %sro   )r
   Ú
class_namer   r   r   Ústart_sphinx_py_classr  ó   zReSTStyle.start_sphinx_py_classc                 C   rr   r   rs   r   r   r   r   Úend_sphinx_py_classx  rR   zReSTStyle.end_sphinx_py_classc                 C   sD   |   ¡  d| }|d ur|d| 7 }| j |¡ |  ¡  |   ¡  d S )Nz.. py:method:: %sz(%s)ro   )r
   Úmethod_nameÚ
parametersÚcontentr   r   r   Ústart_sphinx_py_method|  s   z ReSTStyle.start_sphinx_py_methodc                 C   rr   r   rs   r   r   r   r   Úend_sphinx_py_method…  rR   zReSTStyle.end_sphinx_py_methodc                 C   r®   )Nz.. py:attribute:: %sro   )r
   Ú	attr_namer   r   r   Ústart_sphinx_py_attr‰  r±   zReSTStyle.start_sphinx_py_attrc                 C   rr   r   rs   r   r   r   r   Úend_sphinx_py_attr�  rR   zReSTStyle.end_sphinx_py_attrc                 C   s"   |  ¡ }|D ]}| j |¡ qd S r   )Ú
splitlinesr   r~   )r
   Ú	docstringÚdocstring_linesÚdocstring_liner   r   r   Úwrite_py_doc_string“  s   ÿzReSTStyle.write_py_doc_stringc                 C   ó4   | j jdkr| j  d||f ¡ d S | j  |¡ d S )Nr�   z
`%s <%s>`_r‚   rV   r   r   r   Úexternal_link˜  ó   zReSTStyle.external_linkc                 C   rÀ   )Nr�   rU   r‚   )r
   r$   Úpager   r   r   Úinternal_linkž  rÂ   zReSTStyle.internal_linkr*   r   )NN)Br+   r,   r-   r   r   r9   r<   rA   rG   rJ   rM   rQ   r!   r%   rZ   r_   r&   r'   rb   rc   r)   rf   rh   rk   rl   rm   rp   rt   ru   rv   rw   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   r0   C   s€    



















	

	r0   )ÚloggingÚ	getLoggerÚloggerÚobjectr   r0   r   r   r   r   Ú<module>   s   
0