From 990396dd2cdc345a7647e02dff6b8d7033330e57 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Mon, 21 Dec 2020 01:49:41 +0900 Subject: [PATCH] autodoc: Enable mocks on importing module --- sphinx/ext/autodoc/__init__.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index a23547a61..103537afa 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -2196,14 +2196,15 @@ class UninitializedInstanceAttributeMixin(DataDocumenterMixinBase): return super().import_object(raiseerror=True) # type: ignore except ImportError as exc: try: - ret = import_object(self.modname, self.objpath[:-1], 'class', - attrgetter=self.get_attr, # type: ignore - warningiserror=self.config.autodoc_warningiserror) - parent = ret[3] - if self.is_uninitialized_instance_attribute(parent): - self.object = UNINITIALIZED_ATTR - self.parent = parent - return True + with mock(self.config.autodoc_mock_imports): + ret = import_object(self.modname, self.objpath[:-1], 'class', + attrgetter=self.get_attr, # type: ignore + warningiserror=self.config.autodoc_warningiserror) + parent = ret[3] + if self.is_uninitialized_instance_attribute(parent): + self.object = UNINITIALIZED_ATTR + self.parent = parent + return True except ImportError: pass