From 02f1485b1a26b575ad3a2c957ea279fcff789f63 Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Fri, 11 Sep 2020 20:41:43 +0900 Subject: [PATCH 1/3] bpo-35293: Remove RemovedInSphinx40Warning --- Doc/tools/extensions/pyspecific.py | 40 ++++++++++++------- .../2020-09-12-17-37-13.bpo-35293._cOwPD.rst | 1 + 2 files changed, 26 insertions(+), 15 deletions(-) create mode 100644 Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py index 008dd8a6f7c8cd..2afdd6bba17822 100644 --- a/Doc/tools/extensions/pyspecific.py +++ b/Doc/tools/extensions/pyspecific.py @@ -31,7 +31,16 @@ from sphinx.util.nodes import split_explicit_title from sphinx.writers.text import TextWriter, TextTranslator from sphinx.writers.latex import LaTeXTranslator -from sphinx.domains.python import PyModulelevel, PyClassmember + +try: + from sphinx.domains.python import PyMethod +except ImportError: + from sphinx.domains.python import PyClassmember as PyMethod + +try: + from sphinx.domains.python import PyFunction +except ImportError: + from sphinx.domains.python import PyModulelevel as PyFunction # Support for checking for suspicious markup @@ -271,17 +280,18 @@ def needs_arglist(self): return False -class PyDecoratorFunction(PyDecoratorMixin, PyModulelevel): +class PyDecoratorFunction(PyDecoratorMixin, PyFunction): def run(self): # a decorator function is a function after all self.name = 'py:function' - return PyModulelevel.run(self) + return PyFunction.run(self) -class PyDecoratorMethod(PyDecoratorMixin, PyClassmember): +# TODO: Use sphinx.domains.python.PyDecoratorMethod when possible +class PyDecoratorMethod(PyDecoratorMixin, PyMethod): def run(self): self.name = 'py:method' - return PyClassmember.run(self) + return PyMethod.run(self) class PyCoroutineMixin(object): @@ -298,31 +308,31 @@ def handle_signature(self, sig, signode): return ret -class PyCoroutineFunction(PyCoroutineMixin, PyModulelevel): +class PyCoroutineFunction(PyCoroutineMixin, PyFunction): def run(self): self.name = 'py:function' - return PyModulelevel.run(self) + return PyFunction.run(self) -class PyCoroutineMethod(PyCoroutineMixin, PyClassmember): +class PyCoroutineMethod(PyCoroutineMixin, PyMethod): def run(self): self.name = 'py:method' - return PyClassmember.run(self) + return PyMethod.run(self) -class PyAwaitableFunction(PyAwaitableMixin, PyClassmember): +class PyAwaitableFunction(PyAwaitableMixin, PyFunction): def run(self): self.name = 'py:function' - return PyClassmember.run(self) + return PyFunction.run(self) -class PyAwaitableMethod(PyAwaitableMixin, PyClassmember): +class PyAwaitableMethod(PyAwaitableMixin, PyMethod): def run(self): self.name = 'py:method' - return PyClassmember.run(self) + return PyMethod.run(self) -class PyAbstractMethod(PyClassmember): +class PyAbstractMethod(PyMethod): def handle_signature(self, sig, signode): ret = super(PyAbstractMethod, self).handle_signature(sig, signode) @@ -332,7 +342,7 @@ def handle_signature(self, sig, signode): def run(self): self.name = 'py:method' - return PyClassmember.run(self) + return PyMethod.run(self) # Support for documenting version of removal in deprecations diff --git a/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst b/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst new file mode 100644 index 00000000000000..a256dc113fce6b --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst @@ -0,0 +1 @@ +Remove RemovedInSphinx40Warning when building sphinx. Patch by Dong-hee Na. From acf117eb8f5c428fae319dfd3c8b2c0cd35917dc Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Fri, 18 Sep 2020 17:31:21 +0900 Subject: [PATCH 2/3] Update Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst Co-authored-by: Victor Stinner --- .../next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst b/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst index a256dc113fce6b..089d44e35d2baa 100644 --- a/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst +++ b/Misc/NEWS.d/next/Documentation/2020-09-12-17-37-13.bpo-35293._cOwPD.rst @@ -1 +1 @@ -Remove RemovedInSphinx40Warning when building sphinx. Patch by Dong-hee Na. +Fix RemovedInSphinx40Warning when building the documentation. Patch by Dong-hee Na. From 854ac4cdc08140f2d9267d55ecf3ba2db70f570a Mon Sep 17 00:00:00 2001 From: Dong-hee Na Date: Fri, 18 Sep 2020 17:32:57 +0900 Subject: [PATCH 3/3] bpo-35293: Apply Victor's review --- Doc/tools/extensions/pyspecific.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Doc/tools/extensions/pyspecific.py b/Doc/tools/extensions/pyspecific.py index 2afdd6bba17822..80fbd96d56fdc0 100644 --- a/Doc/tools/extensions/pyspecific.py +++ b/Doc/tools/extensions/pyspecific.py @@ -33,13 +33,9 @@ from sphinx.writers.latex import LaTeXTranslator try: - from sphinx.domains.python import PyMethod + from sphinx.domains.python import PyFunction, PyMethod except ImportError: from sphinx.domains.python import PyClassmember as PyMethod - -try: - from sphinx.domains.python import PyFunction -except ImportError: from sphinx.domains.python import PyModulelevel as PyFunction # Support for checking for suspicious markup