Merge pull request #9109 from tk0miya/9095_TypeError_on_broken_metaclass

Fix #9095: autodoc: TypeError is raised on processing broken metaclass
This commit is contained in:
Takeshi KOMIYA 2021-04-20 01:25:40 +09:00 committed by GitHub
commit ab75cc74cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -17,6 +17,7 @@ Features added
--------------
* #8818: autodoc: Super class having ``Any`` arguments causes nit-picky warning
* #9095: autodoc: TypeError is raised on processing broken metaclass
* #9098: html: copy-range protection for doctests doesn't work in Safari
* #9103: LaTeX: imgconverter: conversion runs even if not needed
* #8127: py domain: Ellipsis in info-field-list causes nit-picky warning

View File

@ -108,7 +108,14 @@ def import_object(modname: str, objpath: List[str], objtype: str = '',
logger.debug('[autodoc] getattr(_, %r)', attrname)
mangled_name = mangle(obj, attrname)
obj = attrgetter(obj, mangled_name)
logger.debug('[autodoc] => %r', obj)
try:
logger.debug('[autodoc] => %r', obj)
except TypeError:
# fallback of failure on logging for broken object
# refs: https://github.com/sphinx-doc/sphinx/issues/9095
logger.debug('[autodoc] => %r', (obj,))
object_name = attrname
return [module, parent, object_name, obj]
except (AttributeError, ImportError) as exc: