
    ~Ti                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ erdd	lmZ dd
lmZ ddlmZ ddlmZ  e
j.                  e      Z G d de      ZddZy)zPlain-text Sphinx builder.    )annotations)TYPE_CHECKING)Builder)__)logging)_last_modified_time)TextTranslator)Iterator)nodes)Sphinx)ExtensionMetadatac                  j    e Zd ZU dZdZ ed      ZdZdZe	Z
dZded<   ddZdd	Zddd
ZddZddZy)TextBuildertextz!The text files are in %(outdir)s.z.txtTN
str | Nonecurrent_docnamec                    i | _         y N)
secnumbersselfs    G/home/agent/.local/lib/python3.12/site-packages/sphinx/builders/text.pyinitzTextBuilder.init#   s	    68    c              #  h  K   | j                   j                  D ]u  }|| j                   j                  vr|  | j                  || j                  z   z  }	 t        |      }	 t        | j                   j                  |            }||kD  r| w y # t        $ r d}Y >w xY w# t        $ r Y w xY ww)Nr   )	env
found_docsall_docsoutdir
out_suffixr   	Exceptiondoc2pathOSError)r   docname
targetnametargetmtimesrcmtimes        r   get_outdated_docszTextBuilder.get_outdated_docs'   s     xx** 	Gdhh///$//(ABJ 1*=.txx/@/@/IJk)!M	      sH   AB2B"-B#B2B B2B  B2#	B/,B2.B//B2c                     y)N  )r   r$   typs      r   get_target_urizTextBuilder.get_target_uri9   s    r   c                   || _         | j                  j                  j                  |i       | _        | j                  ||       }|j                  |       |j                  }| j                  || j                  z   z  }|j                  j                  dd       	 |j                  |d       y # t        $ r*}t        j                  t!        d      ||       Y d }~y d }~ww xY w)NT)parentsexist_okzutf-8)encodingzerror writing file %s: %s)r   r   toc_secnumbersgetr   create_translator	walkaboutbodyr   r    parentmkdir
write_textr#   loggerwarningr   )r   r$   doctreevisitoroutputout_file_nameerrs          r   	write_doczTextBuilder.write_doc<   s    &((1155grB"&"8"8$"G'"w'@A""4$"?	P$$Vg$> 	PNN29:M3OO	Ps   B0 0	C#9 CC#c                     y r   r+   r   s    r   finishzTextBuilder.finishI   s    r   )returnNone)rD   zIterator[str]r   )r$   strr,   r   rD   rF   )r$   rF   r<   znodes.documentrD   rE   )__name__
__module____qualname__nameformatr   epilogr    allow_parallelr	   default_translator_classr   __annotations__r   r(   r-   rA   rC   r+   r   r   r   r      sK    DF34FJN-"&OZ&9$Pr   r   c                P   | j                  t               | j                  dddt        t        h             | j                  dddt        t        h             | j                  dddt        t
        h             | j                  d	d
dt        t        h             ddddS )Ntext_sectioncharsz*=-~"+`r   )typestext_newlinesunixtext_add_secnumbersTtext_secnumber_suffixz. builtin)versionparallel_read_safeparallel_write_safe)add_builderr   add_config_value	frozensetrF   bool)apps    r   setupr`   M   s    OOK ,iiQTPUFVW&%y#?OP.e9dVCTU0$YPSuEUV "# r   N)r_   r   rD   r   )__doc__
__future__r   typingr   sphinx.buildersr   sphinx.localer   sphinx.utilr   sphinx.util.osutilr   sphinx.writers.textr	   collections.abcr
   docutilsr   sphinx.applicationr   sphinx.util.typingr   	getLoggerrG   r:   r   r`   r+   r   r   <module>rn      sP      "   #   2 .()4			8	$2' 2jr   