diff --git a/CHANGES b/CHANGES index 4df249167..a1a1e7e79 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,8 @@ Dependencies Incompatible changes -------------------- +* #6447: autodoc: Stop to generate document for undocumented module variables + Deprecated ---------- diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index f66269a6b..7172553ac 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -549,10 +549,8 @@ class Documenter: if self.analyzer: attr_docs = self.analyzer.find_attr_docs() - tagorder = self.analyzer.tagorder else: attr_docs = {} - tagorder = {} # process members and determine which to skip for (membername, member) in members: @@ -582,13 +580,12 @@ class Documenter: membername in self.options.special_members: keep = has_doc or self.options.undoc_members elif (namespace, membername) in attr_docs: - has_doc = bool(attr_docs[namespace, membername]) if want_all and membername.startswith('_'): # ignore members whose name starts with _ by default - keep = has_doc and self.options.private_members + keep = self.options.private_members else: # keep documented attributes - keep = has_doc + keep = True isattr = True elif want_all and membername.startswith('_'): # ignore members whose name starts with _ by default @@ -597,8 +594,6 @@ class Documenter: else: # ignore undocumented members if :undoc-members: is not given keep = has_doc or self.options.undoc_members - # module top level item or not - isattr = membername in tagorder # give the user a chance to decide whether this member # should be skipped @@ -1296,10 +1291,6 @@ class DataDocumenter(ModuleLevelDocumenter): return self.get_attr(self.parent or self.object, '__module__', None) \ or self.modname - def get_doc(self, encoding=None, ignore=1): - # type: (str, int) -> List[List[str]] - return [] - class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): # type: ignore """ diff --git a/tests/roots/test-ext-autodoc/target/module.py b/tests/roots/test-ext-autodoc/target/module.py deleted file mode 100644 index d5b557d94..000000000 --- a/tests/roots/test-ext-autodoc/target/module.py +++ /dev/null @@ -1,4 +0,0 @@ -#: docstring for CONSTANT1 -CONSTANT1 = "" - -CONSTANT2 = "" diff --git a/tests/test_autodoc.py b/tests/test_autodoc.py index 518d23e8c..f6f5a618c 100644 --- a/tests/test_autodoc.py +++ b/tests/test_autodoc.py @@ -1689,30 +1689,6 @@ def test_partialmethod(app): assert list(actual) == expected -@pytest.mark.usefixtures('setup_test') -def test_module_variables(): - options = {"members": None, - "undoc-members": True} - actual = do_autodoc(app, 'module', 'target.module', options) - assert list(actual) == [ - '', - '.. py:module:: target.module', - '', - '', - '.. py:data:: CONSTANT1', - ' :module: target.module', - " :annotation: = ''", - '', - ' docstring for CONSTANT1', - ' ', - '', - '.. py:data:: CONSTANT2', - ' :module: target.module', - " :annotation: = ''", - '', - ] - - @pytest.mark.sphinx('html', testroot='ext-autodoc') def test_autodoc_typehints_signature(app): app.config.autodoc_typehints = "signature"