o
$a @ s d Z ddlZddlmZ ddlmZmZmZmZm Z ddl
mZ ddlm
Z
ddlmZ ddlmZ dd lmZmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZmZ e e!Z"G dd deZ#de
dee$ef fddZ%dS )z
sphinx.builders.changes
~~~~~~~~~~~~~~~~~~~~~~~
Changelog builder.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)path)AnyDictListTuplecast)package_dir)Sphinx)Builder)ChangeSetDomain)___)HTMLThemeFactory)logging)bold)copy_asset_file) ensurediros_pathc @ sr e Zd ZdZdZedZdddZdefdd Z d
ddd
Z
deddfddZdededefddZ
dddZdS )ChangesBuilderzC
Write a summary with all versionadded/changed directives.
changesz#The overview file is in %(outdir)s.returnNc C s2 | t| j}|d| _| j| | j d S )Ndefault)create_template_bridger appcreatetheme templatesinit)self
theme_factory r 9/usr/lib/python3/dist-packages/sphinx/builders/changes.pyr $ s
zChangesBuilder.initc C s | j S N)outdirr r r r! get_outdated_docs* s z ChangesBuilder.get_outdated_docsaddedchanged
deprecated)versionaddedversionchangedr( ignoredc
s2 | j j}tt| jd}i }g }i }||}|s'tt t
d| d S tt t
d |D ]}t|jt
r@|jd } n|j} | j|j }
|jdd}| rs|jdrs|rbd| |
|f }nd | |
f }|||j|jf q2| sx|jr|jp~td
}
| std} |rd| |
|f }nd | |
f }||
g ||j|jf q2|sq2d|
|f }| jj|j }||j|fg ||j|jf q2| j j|| j j| j jt| t|t| | j j!| j j"d
}t#t$%| j&dddd}|'| j()d| W d n 1 sw Y t#t$%| j&dddd}|'| j()d| W d n 1 s3w Y d| d| d| gdt*dt+dt+ffdd tt t
d | jj,D ]}t#| j-|| jj j.d(}z|/ }W n t0y t1t
d| Y W d q]w W d n 1 sw Y t$%| j&dt2|d }t3t$4| t#|dd!d*}d"% fd#d$t5|D }| j-|d |d%}|'| j()d&| W d n 1 sw Y q]d'd( | j67i D }t8t$%t9d)d*d+d,| j&|| j(d- t8t$%t9d)d.d+d/| j& d S )0N changesetzno changes in version %s.zwriting summary file...r
zc-apiz%s: %s: %sz%s: %s.BuiltinszModule levelz
%s: %s) projectversion docstitle
shorttitle
libchanges
apichangesotherchangesshow_copyrightshow_sphinxz
index.htmlwutf8)encodingzchanges/frameset.htmlzchanges.htmlzchanges/versionchanges.htmlz.. versionadded:: %sz.. versionchanged:: %sz.. deprecated:: %snoliner c s6 d| t | } D ]
}||v rd| } |S q|S )Nz z%s)htmlescape)r<