Deprecate sphinx.util.inspect:safe_getmembers()

This commit is contained in:
Takeshi KOMIYA
2020-01-25 23:21:33 +09:00
parent ecf38edb43
commit 045630ec85
3 changed files with 8 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ Deprecated
* ``sphinx.util.detect_encoding()``
* ``sphinx.util.get_module_source()``
* ``sphinx.util.inspect.Signature``
* ``sphinx.util.inspect.safe_getmembers()``
Features added
--------------

View File

@@ -87,6 +87,11 @@ The following is a list of deprecated interfaces.
- ``sphinx.util.inspect.signature`` and
``sphinx.util.inspect.stringify_signature()``
* - ``sphinx.util.inspect.safe_getmembers()``
- 2.4
- 4.0
- ``inspect.getmembers()``
* - ``sphinx.builders.gettext.POHEADER``
- 2.3
- 4.0

View File

@@ -257,6 +257,8 @@ def safe_getattr(obj: Any, name: str, *defargs: Any) -> Any:
def safe_getmembers(object: Any, predicate: Callable[[str], bool] = None,
attr_getter: Callable = safe_getattr) -> List[Tuple[str, Any]]:
"""A version of inspect.getmembers() that uses safe_getattr()."""
warnings.warn('safe_getmembers() is deprecated', RemovedInSphinx40Warning)
results = [] # type: List[Tuple[str, Any]]
for key in dir(object):
try: