
    zi                       d Z ddlmZ ddlZddlmZ ddl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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 erddlmZ  ej         e!          Z" G d de          Z#ddZ$dS )zChangelog builder.    )annotationsN)path)TYPE_CHECKINGAnycast)package_dir)Builder)ChangeSetDomain)___)HTMLThemeFactory)logging)bold)copy_asset_file)	ensurediros_path)Sphinxc                  `    e Zd ZdZdZ ed          ZddZddZd	d
ddZ	ddZ
ddZddZdS )ChangesBuilderzC
    Write a summary with all versionadded/changed 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     b/var/www/tmov.alphamb/tmov_inventario/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)versionaddedversionchangedr-   ignoredr   c           
        | j         j        }t          t          | j                            d                    }i }g }i }|                    |          }|s9t                              t          t          d          |z                       d S t                              t          t          d                               |D ]}t          |j        t                    r|j        d         }	n|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           4|s8d|
                                 d
| }| j        j        |j                                                 }|                    |j        |fg                               ||j        |j        f           | j         j        || j         j        | j         j        t?          |                                           t?          |          t?          |                                           | j         j!        | j         j"        d	}tG          tI          j%        | j&        d          dd          5 }|'                    | j(        )                    d|                     d d d            n# 1 swxY w Y   tG          tI          j%        | j&        d          dd          5 }|'                    | j(        )                    d|                     d d d            n# 1 swxY w Y   d|z  d|z  d|z  gd2fdt                              t          t          d                                | j        j*        D ]}tG          | j        +                    |          | j        j         j,                  5 }	 |-                                }nC# t\          $ r6 t          /                    t          d!          |           Y d d d            w xY w	 d d d            n# 1 swxY w Y   tI          j%        | j&        d"ta          |                    d#z   }tc          tI          j2        |                     tG          |dd$          5 }d%%                    fd&tg          |          D                       }| j        +                    |d'          |d(}|'                    | j(        )                    d)|                     d d d            n# 1 swxY w Y   d* | j4        5                    i                                            D             }tm          tI          j%        tn          d+d,d-d.          | j&        || j(        /           tm          tI          j%        tn          d+d0d-d1          | j&                   d S )3N	changesetzno changes in version %s.zwriting summary file...r   
 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:: %sz.. versionchanged:: %sz.. deprecated:: %s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)rB   rD   xhltexts      r#   hlz ChangesBuilder.write.<locals>.hln   sO    (2-D0A0AAD  997$>DE  Kr$   zcopying source files...z(could not read %r for changelog creationrstz.htmlzutf-8 c              3  <   K   | ]\  }} |d z   |          V  dS )   N ).0irD   rJ   s      r#   	<genexpr>z'ChangesBuilder.write.<locals>.<genexpr>   s5      QQ9Atrr!a%QQQQQQr$   F)filenametextzchanges/rstsource.htmlc                     i | ]\  }}d |z   |S )theme_rO   )rP   keyvals      r#   
<dictcomp>z(ChangesBuilder.write.<locals>.<dictcomp>   s.     8 8 8JS#HsNC 8 8 8r$   themesr   staticzdefault.css_t)contextrendererbasicz	basic.css)rB   rC   rD   r%   r   r%   )8configr7   r   r
   env
get_domainget_changesets_forloggerinfor   r   
isinstancedescnametupletypemaptypecontentreplacedocname
startswithappendlinenomoduler   
setdefault
capitalizetitlesastextr6   
html_titlehtml_short_titlesorteditemshtml_show_copyrighthtml_show_sphinxopenr   joinr(   writer   renderall_docsdoc2pathsource_encoding	readlinesUnicodeDecodeErrorwarningr   r   dirname	enumerater   get_optionsr   r   )r!   r0   r7   domainr:   r;   r<   
changesetsr2   rf   ttextr\   entryrp   titlectxfrl   linestargetfnrT   themectxrJ   rI   s                         @@r#   r}   zChangesBuilder.write/   s   +%otx':':;'G'GHH<>
13
JL..w77
 	KKR ;<<wFGGHHHFD56677888# 	B 	BI),e44 .$-a0$-L0E'//c::G BI-88AA B BK(KKUKK'KKEEA(AAUAAAE!!5)*;Y=M"NOOOO BY- B"):Qz]] 1 00H BK(KKUKK'KKEEA(AAUAAAE%%fb1188%AR:C:J:L M M M M  Ae..00AAAA	(9:AACC''):E(BBGGNNI-y/?@B B B B {*/+6 !1!1!3!344 ,,"<#5#5#7#788"k=;7

 

 $)DK66fMMM 	IQRGGDN))*A3GGHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I$)DK88#OOO 	OSTGGDN))*GMMNNN	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O 	O )72*W4&02	 	 	 	 	 	 	D56677888x( 	N 	NGdh''00#x>@ @ @ CDKKMMEE)   NN2&P#Q#QSZ[[[                      yeWW5E5EFFPHdl8,,---hg666 N!wwQQQQ	%@P@PQQQQQ $ 1 1'5 A A   --.FLLMMMN N N N N N N N N N N N N N N8 8J**2..44668 8 8	+xHo^^X	P 	P 	P 	P	+x(KXX	% 	% 	% 	% 	%sm   5/M00M47M4%/O  O$'O$:S!<RS!2SS!SS!!S%	(S%	
A;WW	W	rT   r7   c           	     ~    t          j        |          }dD ]%}|                    d| d| d| d| d          }&|S )N)r/   r.   r-   z.. z:: z<b>.. z</b>)rF   rG   rk   )r!   rT   r7   	directives       r#   rJ   zChangesBuilder.hl   sg    {4  I 	F 	FI<< =i = =G = = D D Dw D D DF FDDr$   c                    d S r'   rO   r)   s    r#   finishzChangesBuilder.finish   s    r$   N)r   r   )r   r%   )r0   r   r   r   )rT   r%   r7   r%   r   r%   )__name__
__module____qualname____doc__namer   epilogr    r*   rh   r}   rJ   r   rO   r$   r#   r   r      s          DR566F. . . .         #" G^% ^% ^% ^%@        r$   r   r   r   r   dict[str, Any]c                B    |                      t                     ddddS )NbuiltinT)r7   parallel_read_safeparallel_write_safe)add_builderr   )r   s    r#   setupr      s.    OON### "#  r$   )r   r   r   r   )%r   
__future__r   rF   osr   typingr   r   r   sphinxr   sphinx.buildersr	   sphinx.domains.changesetr
   sphinx.localer   r   sphinx.themingr   sphinx.utilr   sphinx.util.consoler   sphinx.util.fileutilr   sphinx.util.osutilr   r   sphinx.applicationr   	getLoggerr   rc   r   r   rO   r$   r#   <module>r      s     " " " " " "        + + + + + + + + + +       # # # # # # 4 4 4 4 4 4         + + + + + +       $ $ $ $ $ $ 0 0 0 0 0 0 1 1 1 1 1 1 1 1 *))))))		8	$	$~ ~ ~ ~ ~W ~ ~ ~B     r$   