U
    \ªShÀ  ã                   @  sX   d Z ddlmZ ddlmZ ddlmZ ddlm	Z	 G dd„ deƒZ
G dd	„ d	eƒZd
S )z+Docutils-native XML and pseudo-XML writers.é    )Úannotations)ÚAny)ÚWriter)ÚBuilderc                      sD   e Zd ZU ded< dddœ‡ fdd„Zdddd	œ‡ fd
d„Z‡  ZS )Ú	XMLWriterÚstrÚoutputr   ÚNone©ÚbuilderÚreturnc                   s"   t ƒ  ¡  |ˆ _‡ fdd„ˆ _d S )Nc                   s   ˆ j  | ¡S ©N)r   Zcreate_translator)Údocument©Úself© úE/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/writers/xml.pyÚ<lambda>   ó    z$XMLWriter.__init__.<locals>.<lambda>)ÚsuperÚ__init__r   Ztranslator_class©r   r   ©Ú	__class__r   r   r      s    
zXMLWriter.__init__r   )ÚargsÚkwargsr   c                   s:   | j jjj | jj_| jj_d| jj_d| jj_	t
ƒ  ¡ S )NT)r   ÚenvÚconfigZ
xml_prettyr   ÚsettingsÚnewlinesÚindentsZxml_declarationZdoctype_declarationr   Ú	translate)r   r   r   r   r   r   r!      s    
þ


zXMLWriter.translate)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r!   Ú__classcell__r   r   r   r   r      s   
r   c                      sX   e Zd ZU dZdZdZded< dddœ‡ fd	d
„Zddœdd„Zdddœdd„Z	‡  Z
S )ÚPseudoXMLWriter)ÚpprintÚpformatZ	pseudoxmlzpseudoxml writer)Zwritersr   r   r   r	   r
   c                   s   t ƒ  ¡  || _d S r   )r   r   r   r   r   r   r   r   *   s    
zPseudoXMLWriter.__init__)r   c                 C  s   | j  ¡ | _d S r   )r   r)   r   r   r   r   r   r!   .   s    zPseudoXMLWriter.translateÚbool)Úformatr   c                 C  s   dS )z2This writer supports all format-specific elements.Tr   )r   r+   r   r   r   Úsupports1   s    zPseudoXMLWriter.supports)r"   r#   r$   Ú	supportedZconfig_sectionZconfig_section_dependenciesr%   r   r!   r,   r&   r   r   r   r   r'      s   
r'   N)Ú__doc__Ú
__future__r   Útypingr   Zdocutils.writers.docutils_xmlr   ZBaseXMLWriterZsphinx.buildersr   r   r'   r   r   r   r   Ú<module>   s   