summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-08-12 23:31:53 +0900
committerGitHub <noreply@github.com>2020-08-12 23:31:53 +0900
commite70a30e5a3854020fa2a75bfdcb6150bea4777be (patch)
tree015b9f332a6c8c94a4f1e3ad56d96587aba1f5a9
parentbf26080042fabf6e3aba22cfe05ad8d93bcad3e9 (diff)
parentbb09f9215449fcd1524a8c2d3b5cc56009f98a9a (diff)
downloadsphinx-git-e70a30e5a3854020fa2a75bfdcb6150bea4777be.tar.gz
Merge pull request #8092 from tk0miya/8085_AttributeError_on_get_type_hints
Fix #8091: autodoc: AttributeError is raised on documenting an attribute
-rw-r--r--CHANGES2
-rw-r--r--sphinx/ext/autodoc/__init__.py6
2 files changed, 8 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index d0e4e6316..1d523f3fd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -40,6 +40,8 @@ Bugs fixed
* #8074: napoleon: Crashes during processing C-ext module
* #8084: autodoc: KeyError is raised on documenting an attribute of the broken
class
+* #8091: autodoc: AttributeError is raised on documenting an attribute on Python
+ 3.5.2
Testing
--------
diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py
index 47f6bcb25..f3820f715 100644
--- a/sphinx/ext/autodoc/__init__.py
+++ b/sphinx/ext/autodoc/__init__.py
@@ -1613,6 +1613,9 @@ class DataDocumenter(ModuleLevelDocumenter):
except KeyError:
# a broken class found (refs: https://github.com/sphinx-doc/sphinx/issues/8084)
annotations = {}
+ except AttributeError:
+ # AttributeError is raised on 3.5.2 (fixed by 3.5.3)
+ annotations = {}
if self.objpath[-1] in annotations:
objrepr = stringify_typehint(annotations.get(self.objpath[-1]))
@@ -1986,6 +1989,9 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter):
except KeyError:
# a broken class found (refs: https://github.com/sphinx-doc/sphinx/issues/8084)
annotations = {}
+ except AttributeError:
+ # AttributeError is raised on 3.5.2 (fixed by 3.5.3)
+ annotations = {}
if self.objpath[-1] in annotations:
objrepr = stringify_typehint(annotations.get(self.objpath[-1]))