From 42e491a4c2ee514cf9cf69654a8585052584ecab Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Sun, 31 Jan 2021 18:43:41 +0900 Subject: [PATCH] refactor: AttributeError handling for getslots() is not needed --- sphinx/ext/autodoc/__init__.py | 4 ++-- sphinx/ext/autodoc/importer.py | 4 ++-- sphinx/util/inspect.py | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index 46a597c5e..dc413b5c2 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -2226,7 +2226,7 @@ class SlotsMixin(DataDocumenterMixinBase): return True else: return False - except (AttributeError, ValueError, TypeError): + except (ValueError, TypeError): return False def import_object(self, raiseerror: bool = False) -> bool: @@ -2252,7 +2252,7 @@ class SlotsMixin(DataDocumenterMixinBase): return [docstring] else: return [] - except (AttributeError, ValueError) as exc: + except ValueError as exc: logger.warning(__('Invalid __slots__ found on %s. Ignored.'), (self.parent.__qualname__, exc), type='autodoc') return [] diff --git a/sphinx/ext/autodoc/importer.py b/sphinx/ext/autodoc/importer.py index 1593792ea..477aae247 100644 --- a/sphinx/ext/autodoc/importer.py +++ b/sphinx/ext/autodoc/importer.py @@ -211,7 +211,7 @@ def get_object_members(subject: Any, objpath: List[str], attrgetter: Callable, for name in __slots__: members[name] = Attribute(name, True, SLOTSATTR) - except (AttributeError, TypeError, ValueError): + except (TypeError, ValueError): pass # other members @@ -273,7 +273,7 @@ def get_class_members(subject: Any, objpath: List[str], attrgetter: Callable for name, docstring in __slots__.items(): members[name] = ObjectMember(name, SLOTSATTR, class_=subject, docstring=docstring) - except (AttributeError, TypeError, ValueError): + except (TypeError, ValueError): pass # other members diff --git a/sphinx/util/inspect.py b/sphinx/util/inspect.py index dbce85510..5477e64f7 100644 --- a/sphinx/util/inspect.py +++ b/sphinx/util/inspect.py @@ -179,7 +179,6 @@ def getslots(obj: Any) -> Optional[Dict]: """Get __slots__ attribute of the class as dict. Return None if gienv *obj* does not have __slots__. - Raises AttributeError if given *obj* raises an error on accessing __slots__. Raises TypeError if given *obj* is not a class. Raises ValueError if given *obj* have invalid __slots__. """