
    -PhT                        d Z ddlmZ ddl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 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  ej        e          Z G d de          ZddZdS )zChangelog builder.    )annotationsN)TYPE_CHECKING)package_dir)bold)Builder)___)HTMLThemeFactory)logging)copy_asset_file)Set)Sphinx)ExtensionMetadatac                  b    e Zd ZdZdZ ed          ZddZddZd	d
dddZ	ddZ
ddZddZdS )ChangesBuilderzLWrite a summary with all versionadded/changed/deprecated/removed directives.changesz#The overview file is in %(outdir)s.returnNonec                    |                                   t          | j                  }|                    d          | _        | j                            | | j                   d S )Ndefault)create_template_bridger
   appcreatetheme	templatesinit)selftheme_factorys     W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/builders/changes.pyr   zChangesBuilder.init   sX    ##%%%(22")))44
D$*-----    strc                *    t          | j                  S N)r!   outdirr   s    r   get_outdated_docsz ChangesBuilder.get_outdated_docs%   s    4;r    addedchanged
deprecatedremoved)versionaddedversionchangedr)   versionremoved	_docnamesSet[str]c           
         | j         j        }| j        j        j        }i }g }i }|                    |          }|s7t                              t          t          d                    |           d S t                              t          t          d                               |D ]}|j
        }	| j        |j                 }
|j                            dd          }|	rT|j                            d          r:|rd|	 d|
 d| }n	d|	 d|
 d	}|                    ||j        |j        f           |	s|j        rv|j        pt)          d
          }|	st)          d          }	|rd|	 d|
 d| }n	d|	 d|
 d	}|                    |g                               ||j        |j        f           |sd|
                                 d| }| j        j        |j                                                 }|                    |j        |fg                               ||j        |j        f           | j         j        || j         j        | j         j        t9          |                                          t9          |          t9          |                                          | j         j        | j         j        d	}tA          | j!        dz  dd          5 }|"                    | j#        $                    d|                     d d d            n# 1 swxY w Y   tA          | j!        dz  dd          5 }|"                    | j#        $                    d|                     d d d            n# 1 swxY w Y   d| d| d| d| gd4fdt                              t          t          d                               | j        j%        D ]}tA          | j        &                    |          | j         j'                  5 }	 |(                                }nC# tR          $ r6 t          *                    t          d           |           Y d d d            w xY w	 d d d            n# 1 swxY w Y   d!+                    fd"tY          |          D                       }t[          | j        &                    |d#                    |d$}| j#        $                    d%|          }| j!        d&z  | d'z  }|j.        /                    d(d()           tA          |dd*          5 }|"                    |           d d d            n# 1 swxY w Y   d+ | j0        1                    i                                           D             }te          tg          j4        d,d-d.d/          | j!        || j#        d(0           te          tg          j4        d,d1d.d2          | j!        d2z  d(3           d S )5Nzno changes in version %s.zwriting summary file...
 zc-apiz<b>z	</b>: <i>z:</i> z</i>.BuiltinszModule levelz<i>)	projectversion	docstitle
shorttitle
libchanges
apichangesotherchangesshow_copyrightshow_sphinxz
index.htmlwutf8)encodingzchanges/frameset.htmlzchanges.htmlzchanges/versionchanges.htmlz.. versionadded:: z.. versionchanged:: z.. deprecated:: z.. versionremoved:: nointliner!   r   c                \    d| z  t          j        |          z   }D ]}||v rd|z  } n|S )Nz<a name="L%s"> </a>z<span class="hl">%s</span>)htmlescape)r@   rB   xhltexts      r   hlz*ChangesBuilder.write_documents.<locals>.hlt   sO    (2-D0A0AAD  997$>DE  Kr    zcopying source files...z(could not read %r for changelog creation c              3  <   K   | ]\  }} |d z   |          V  dS )   N ).0irB   rH   s      r   	<genexpr>z1ChangesBuilder.write_documents.<locals>.<genexpr>   s5      MMy422a!eT??MMMMMMr    F)filenametextzchanges/rstsource.htmlrstz.htmlT)parentsexist_okzutf-8c                     i | ]\  }}d |z   |S )theme_rL   )rM   keyvals      r   
<dictcomp>z2ChangesBuilder.write_documents.<locals>.<dictcomp>   s/     
 
 
$.S#HsNC
 
 
r    themesr   staticzdefault.css.jinja)contextrendererforcebasicz	basic.css)r^   )r@   rA   rB   r!   r   r!   )5configr5   envdomainschangeset_domainget_changesets_forloggerinfor   r	   descnametypemaptypecontentreplacedocname
startswithappendlinenomoduler   
setdefault
capitalizetitlesastextr4   
html_titlehtml_short_titlesorteditemshtml_show_copyrighthtml_show_sphinxopenr$   writer   renderall_docsdoc2pathsource_encoding	readlinesUnicodeDecodeErrorwarningjoin	enumerater!   parentmkdirr   get_optionsr   r   joinpath)r   r.   r5   domainr8   r9   r:   
changesets	changesetrg   ttextr\   entryrp   titlectxfrl   linesrQ   renderedtargetfnthemectxrH   rG   s                          @@r   write_documentszChangesBuilder.write_documents/   s   +%!2<>
13
JL..w77
 	KKR ;<<==wGGGFD56677888#  	  	I )HL0E'//c::G I-88AA  BK(KKUKK'KKEEA(AAUAAAE!!5)*;Y=M"NOOOO Y- "):Qz]] 1 00H BK(KKUKK'KKEEA(AAUAAAE%%fb1188%$:      Ae..00AAAA	(9:AACC''):E(BBGGNN%$P     {*/+6 !1!1!3!344 ,,"<#5#5#7#788"k=;7

 

 $+,cFCCC 	IqGGDN))*A3GGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I$+.fEEE 	OGGDN))*GMMNNN	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O +**,7,,(w((,7,,	
	 	 	 	 	 	 	D56677888x( 	" 	"G!!'**T[5P   	KKMMEE)   NNEFF   	 	 	 	 	 	 	
 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 77MMMMIe<L<LMMMMMD 1 1'5 A ABB C ~,,-EsKKH{U*->->->>HO!!$!>>>hg666 "!!!!" " " " " " " " " " " " " " "
 
26*2H2H2L2L2R2R2T2T
 
 
 	 9h@STTK^	
 	
 	
 	
 	 7HkJJK+%	
 	
 	
 	
 	
 	
sl   /LL!L?/M::M>M>Q:P*)Q:*2Q*Q:)Q**Q::Q>	Q>	7UU	 U	rQ   r5   c           	     ~    t          j        |          }dD ]%}|                    d| d| d| d| d          }&|S )N)r,   r+   r)   r-   z.. z:: z<b>.. z</b>)rD   rE   rk   )r   rQ   r5   	directives       r   rH   zChangesBuilder.hl   si    {4  
 	 	I <<-i--G--/S	/S/Sg/S/S/S DD r    c                    d S r#   rL   r%   s    r   finishzChangesBuilder.finish   s    r    N)r   r   )r   r!   )r.   r/   r   r   )rQ   r!   r5   r!   r   r!   )__name__
__module____qualname____doc__namer	   epilogr   r&   rh   r   rH   r   rL   r    r   r   r      s        VVDR566F. . . .         #"#	 Gq
 q
 q
 q
f        r    r   r   r   r   r   c                B    |                      t                     ddddS )NbuiltinT)r5   parallel_read_safeparallel_write_safe)add_builderr   )r   s    r   setupr      s.    OON### "#  r    )r   r   r   r   ) r   
__future__r   rD   typingr   sphinxr   sphinx._cli.util.colourr   sphinx.buildersr   sphinx.localer   r	   sphinx.themingr
   sphinx.utilr   sphinx.util.fileutilr   collections.abcr   sphinx.applicationr   sphinx.util.typingr   	getLoggerr   re   r   r   rL   r    r   <module>r      s]     " " " " " "                    ( ( ( ( ( ( # # # # # #         + + + + + +       0 0 0 0 0 0 5######))))))444444		8	$	$W W W W WW W W Wt     r    