|
21 | 21 | from docutils.utils import new_document, unescape |
22 | 22 | from sphinx import addnodes |
23 | 23 | from sphinx.builders import Builder |
24 | | -from sphinx.domains.changeset import VersionChange, versionlabels, versionlabel_classes |
25 | 24 | from sphinx.domains.python import PyFunction, PyMethod, PyModule |
26 | 25 | from sphinx.locale import _ as sphinx_gettext |
27 | 26 | from sphinx.util.docutils import SphinxDirective |
@@ -184,57 +183,6 @@ def run(self): |
184 | 183 | return PyMethod.run(self) |
185 | 184 |
|
186 | 185 |
|
187 | | -# Support for documenting version of changes, additions, deprecations |
188 | | - |
189 | | -def expand_version_arg(argument, release): |
190 | | - """Expand "next" to the current version""" |
191 | | - if argument == 'next': |
192 | | - return sphinx_gettext('{} (unreleased)').format(release) |
193 | | - return argument |
194 | | - |
195 | | - |
196 | | -class PyVersionChange(VersionChange): |
197 | | - def run(self): |
198 | | - # Replace the 'next' special token with the current development version |
199 | | - self.arguments[0] = expand_version_arg(self.arguments[0], |
200 | | - self.config.release) |
201 | | - return super().run() |
202 | | - |
203 | | - |
204 | | -class DeprecatedRemoved(VersionChange): |
205 | | - required_arguments = 2 |
206 | | - |
207 | | - _deprecated_label = sphinx_gettext('Deprecated since version %s, will be removed in version %s') |
208 | | - _removed_label = sphinx_gettext('Deprecated since version %s, removed in version %s') |
209 | | - |
210 | | - def run(self): |
211 | | - # Replace the first two arguments (deprecated version and removed version) |
212 | | - # with a single tuple of both versions. |
213 | | - version_deprecated = expand_version_arg(self.arguments[0], |
214 | | - self.config.release) |
215 | | - version_removed = self.arguments.pop(1) |
216 | | - if version_removed == 'next': |
217 | | - raise ValueError( |
218 | | - 'deprecated-removed:: second argument cannot be `next`') |
219 | | - self.arguments[0] = version_deprecated, version_removed |
220 | | - |
221 | | - # Set the label based on if we have reached the removal version |
222 | | - current_version = tuple(map(int, self.config.version.split('.'))) |
223 | | - removed_version = tuple(map(int, version_removed.split('.'))) |
224 | | - if current_version < removed_version: |
225 | | - versionlabels[self.name] = self._deprecated_label |
226 | | - versionlabel_classes[self.name] = 'deprecated' |
227 | | - else: |
228 | | - versionlabels[self.name] = self._removed_label |
229 | | - versionlabel_classes[self.name] = 'removed' |
230 | | - try: |
231 | | - return super().run() |
232 | | - finally: |
233 | | - # reset versionlabels and versionlabel_classes |
234 | | - versionlabels[self.name] = '' |
235 | | - versionlabel_classes[self.name] = '' |
236 | | - |
237 | | - |
238 | 186 | # Support for including Misc/NEWS |
239 | 187 |
|
240 | 188 | issue_re = re.compile('(?:[Ii]ssue #|bpo-)([0-9]+)', re.I) |
@@ -417,11 +365,6 @@ def setup(app): |
417 | 365 | app.add_role('issue', issue_role) |
418 | 366 | app.add_role('gh', gh_issue_role) |
419 | 367 | app.add_directive('impl-detail', ImplementationDetail) |
420 | | - app.add_directive('versionadded', PyVersionChange, override=True) |
421 | | - app.add_directive('versionchanged', PyVersionChange, override=True) |
422 | | - app.add_directive('versionremoved', PyVersionChange, override=True) |
423 | | - app.add_directive('deprecated', PyVersionChange, override=True) |
424 | | - app.add_directive('deprecated-removed', DeprecatedRemoved) |
425 | 368 | app.add_builder(PydocTopicsBuilder) |
426 | 369 | app.add_object_type('opcode', 'opcode', '%s (opcode)', parse_opcode_signature) |
427 | 370 | app.add_object_type('pdbcommand', 'pdbcmd', '%s (pdb command)', parse_pdb_command) |
|
0 commit comments