o
    �w#[1
  ã                   @   sL   d Z dZddlmZmZmZ ddlmZ G dd„ deƒZG dd„ deƒZ	d	S )
zõ
Auxiliary transforms mainly to be used by Writer components.

This module is called "writer_aux" because otherwise there would be
conflicting imports like this one::

    from docutils import writers
    from docutils.transforms import writers
ÚreStructuredTexté    )ÚnodesÚutilsÚ	languages)Ú	Transformc                   @   ó   e Zd ZdZdZdd„ ZdS )ÚCompounda  
    Flatten all compound paragraphs.  For example, transform ::

        <compound>
            <paragraph>
            <literal_block>
            <paragraph>

    into ::

        <paragraph>
        <literal_block classes="continued">
        <paragraph classes="continued">
    iŽ  c                 C   s\   | j  tj¡D ]$}d}|D ]}|rt|tjƒsd}q|d  d¡ q| |d d … ¡ qd S )NTFÚclassesÚ	continued)ÚdocumentÚtraverser   ÚcompoundÚ
isinstanceÚ	InvisibleÚappendÚreplace_self)Úselfr   Úfirst_childÚchild© r   ú@/usr/lib/python3/dist-packages/docutils/transforms/writer_aux.pyÚapply(   s   €÷zCompound.applyN©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Údefault_priorityr   r   r   r   r   r      s    r   c                   @   r   )ÚAdmonitionsaZ  
    Transform specific admonitions, like this:

        <note>
            <paragraph>
                 Note contents ...

    into generic admonitions, like this::

        <admonition classes="note">
            <title>
                Note
            <paragraph>
                Note contents ...

    The admonition title is localized.
    i˜  c                 C   s–   t  | jjj| jj¡}| j tj¡D ]6}|j	j
}|d  |¡ t|tjƒsHtj|jg|j¢R i |j¤Ž}t d|j| ¡}| d|¡ | |¡ qd S )Nr	   Ú r   )r   Úget_languager   ÚsettingsÚlanguage_codeÚreporterr   r   Ú
AdmonitionÚ	__class__r   r   r   Ú
admonitionÚ	rawsourceÚchildrenÚ
attributesÚtitleÚlabelsÚinsertr   )r   ÚlanguageÚnodeÚ	node_namer&   r*   r   r   r   r   K   s   ÿÿ
€özAdmonitions.applyNr   r   r   r   r   r   5   s    r   N)
r   Ú__docformat__Údocutilsr   r   r   Údocutils.transformsr   r   r   r   r   r   r   Ú<module>   s   
 