o
    N i  ã                   @  s`   d Z ddlmZ ddlmZmZ ddlmZ er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)ÚTYPE_CHECKINGÚAny)ÚWriter)ÚBuilderc                      s6   e Zd ZU ded< d‡ fdd„Zd‡ fdd„Z‡  ZS )Ú	XMLWriterÚstrÚoutputÚbuilderr   ÚreturnÚNonec                   s"   t ƒ  ¡  |ˆ _‡ fdd„ˆ _d S )Nc                   s   ˆ j  | ¡S ©N)r
   Úcreate_translator)Údocument©Úself© úF/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/writers/xml.pyÚ<lambda>   s    ÿz$XMLWriter.__init__.<locals>.<lambda>)ÚsuperÚ__init__r
   Útranslator_class©r   r
   ©Ú	__class__r   r   r      s   
zXMLWriter.__init__Úargsr   Úkwargsc                   s:   | j jjj | jj_| jj_d| jj_d| jj_	t
ƒ  ¡ S )NT)r
   ÚenvÚconfigÚ
xml_prettyr   ÚsettingsÚnewlinesÚindentsÚxml_declarationÚdoctype_declarationr   Ú	translate)r   r   r   r   r   r   r%      s
   
ÿ


zXMLWriter.translate©r
   r   r   r   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r%   Ú__classcell__r   r   r   r   r      s   
 	r   c                      sL   e Zd ZU dZ	 dZdZded< 	 d‡ fd
d„Zddd„Zddd„Z	‡  Z
S )ÚPseudoXMLWriter)ÚpprintÚpformatÚ	pseudoxmlzpseudoxml writer)Úwritersr   r	   r
   r   r   r   c                   s   t ƒ  ¡  || _d S r   )r   r   r
   r   r   r   r   r   ,   s   

zPseudoXMLWriter.__init__c                 C  s   | j  ¡ | _d S r   )r   r.   r	   r   r   r   r   r%   0   s   zPseudoXMLWriter.translateÚformatÚboolc                 C  s   dS )z+All format-specific elements are supported.Tr   )r   r1   r   r   r   Úsupports3   s   zPseudoXMLWriter.supportsr&   )r   r   )r1   r   r   r2   )r'   r(   r)   Ú	supportedÚconfig_sectionÚconfig_section_dependenciesr*   r   r%   r3   r+   r   r   r   r   r,   "   s   
 
r,   N)Ú__doc__Ú
__future__r   Útypingr   r   Údocutils.writers.docutils_xmlr   ÚBaseXMLWriterÚsphinx.buildersr   r   r,   r   r   r   r   Ú<module>   s    