
    }c                         d Z ddlmZ ddlmZmZmZmZ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 dd
lmZmZ ddlmZmZ  ej        e          Z G d de          Zdedeeef         fdZ dS )zPlain-text Sphinx builder.    )path)AnyDictIteratorSetTuple)StringOutput)Node)Sphinx)Builder)__)logging)	ensurediros_path)TextTranslator
TextWriterc                       e Zd ZU dZdZ ed          ZdZdZe	Z
dZeed<   ddZdee         fd	Zdd
ededefdZdee         ddfdZd
ededdfdZddZdS )TextBuildertextz!The text files are in %(outdir)s.z.txtTNcurrent_docnamereturnc                     i | _         d S N)
secnumbersselfs    4lib/python3.11/site-packages/sphinx/builders/text.pyinitzTextBuilder.init   s    68    c              #   p  K   | j         j        D ]}|| j         j        vr|V  t          j        | j        || j        z             }	 t          j        |          }n# t          $ r d}Y nw xY w	 t          j        | j         	                    |                    }||k    r|V  # t          $ r Y w xY wd S )Nr   )env
found_docsall_docsr   joinoutdir
out_suffixgetmtime	Exceptiondoc2pathOSError)r   docname
targetnametargetmtimesrcmtimes        r   get_outdated_docszTextBuilder.get_outdated_docs"   s      x* 	 	Gdh// 4;$/0IJJJ "mJ77       =):):7)C)CDDk) "!MMM   	 	s$   AA+*A+/6B&&
B32B3r+   typc                     dS )N  )r   r+   r0   s      r   get_target_urizTextBuilder.get_target_uri4   s    rr   docnamesc                 .    t          |           | _        d S r   )r   writer)r   r5   s     r   prepare_writingzTextBuilder.prepare_writing7   s     &&r   doctreec                 l   || _         | j        j                            |i           | _        t          d          }| j                            ||           t          j	        | j
        t          |          | j        z             }t          t          j        |                     	 t          |dd          5 }|                    | j        j                   d d d            d S # 1 swxY w Y   d S # t"          $ r4}t$                              t)          d          ||           Y d }~d S d }~ww xY w)Nzutf-8)encodingwzerror writing file %s: %s)r   r!   toc_secnumbersgetr   r	   r7   writer   r$   r%   r   r&   r   dirnameopenoutputr*   loggerwarningr   )r   r+   r9   destinationoutfilenameferrs          r   	write_doczTextBuilder.write_doc:   so   &(155grBB"G444';///iWW-=-=-OPP$,{++,,,	Nk3999 ,Q*+++, , , , , , , , , , , , , , , , , , 	N 	N 	NNN29::KMMMMMMMMM	Ns<   )C5 ; C(C5 (C,,C5 /C,0C5 5
D3?)D..D3c                     d S r   r3   r   s    r   finishzTextBuilder.finishG   s    r   )r   Nr   )__name__
__module____qualname__nameformatr   epilogr&   allow_parallelr   default_translator_classr   str__annotations__r   r   r/   r4   r   r8   r
   rI   rK   r3   r   r   r   r      s        DFR344FJN-OS9 9 9 98C=    $ c  s    'C 'T ' ' ' 'N Nt N N N N N     r   r   appr   c                     |                      t                     |                     ddd           |                     ddd           |                     ddd           |                     dd	d           d
dddS )Ntext_sectioncharsz*=-~"+`r!   text_newlinesunixtext_add_secnumbersTtext_secnumber_suffixz. builtin)versionparallel_read_safeparallel_write_safe)add_builderr   add_config_value)rV   s    r   setuprc   K   s    OOK   ,i???&%888.e<<<0$>>> "#  r   N)!__doc__osr   typingr   r   r   r   r   docutils.ior	   docutils.nodesr
   sphinx.applicationr   sphinx.buildersr   sphinx.localer   sphinx.utilr   sphinx.util.osutilr   r   sphinx.writers.textr   r   	getLoggerrL   rC   r   rT   rc   r3   r   r   <module>rp      sT             2 2 2 2 2 2 2 2 2 2 2 2 2 2 $ $ $ $ $ $       % % % % % % # # # # # #             1 1 1 1 1 1 1 1 : : : : : : : :		8	$	$5 5 5 5 5' 5 5 5pv $sCx.      r   