mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Remove the tuple interface to `ObjectMember
`
This commit is contained in:
parent
93842508d2
commit
5a1c461642
@ -49,6 +49,8 @@ Incompatible changes
|
|||||||
:option:`!--use-make-mode`, and :option:`!-m` options
|
:option:`!--use-make-mode`, and :option:`!-m` options
|
||||||
from :program:`sphinx-quickstart`.
|
from :program:`sphinx-quickstart`.
|
||||||
Patch by Adam Turner.
|
Patch by Adam Turner.
|
||||||
|
* Removed the tuple interface to :py:class:`!sphinx.ext.autodoc.ObjectMember`.
|
||||||
|
Patch by Adam Turner.
|
||||||
|
|
||||||
Deprecated
|
Deprecated
|
||||||
----------
|
----------
|
||||||
|
@ -11,7 +11,6 @@ import functools
|
|||||||
import operator
|
import operator
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
|
||||||
from inspect import Parameter, Signature
|
from inspect import Parameter, Signature
|
||||||
from typing import TYPE_CHECKING, Any, Callable, ClassVar, TypeVar
|
from typing import TYPE_CHECKING, Any, Callable, ClassVar, TypeVar
|
||||||
|
|
||||||
@ -19,7 +18,6 @@ from docutils.statemachine import StringList
|
|||||||
|
|
||||||
import sphinx
|
import sphinx
|
||||||
from sphinx.config import ENUM, Config
|
from sphinx.config import ENUM, Config
|
||||||
from sphinx.deprecation import RemovedInSphinx80Warning
|
|
||||||
from sphinx.ext.autodoc.importer import get_class_members, import_module, import_object
|
from sphinx.ext.autodoc.importer import get_class_members, import_module, import_object
|
||||||
from sphinx.ext.autodoc.mock import ismock, mock, undecorate
|
from sphinx.ext.autodoc.mock import ismock, mock, undecorate
|
||||||
from sphinx.locale import _, __
|
from sphinx.locale import _, __
|
||||||
@ -267,13 +265,6 @@ class ObjectMember:
|
|||||||
|
|
||||||
This is used for the result of `Documenter.get_module_members()` to
|
This is used for the result of `Documenter.get_module_members()` to
|
||||||
represent each member of the object.
|
represent each member of the object.
|
||||||
|
|
||||||
.. Note::
|
|
||||||
|
|
||||||
An instance of this class behaves as a tuple of (name, object)
|
|
||||||
for compatibility to old Sphinx. The behavior will be dropped
|
|
||||||
in the future. Therefore extensions should not use the tuple
|
|
||||||
interface.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, name: str, obj: Any, *, docstring: str | None = None,
|
def __init__(self, name: str, obj: Any, *, docstring: str | None = None,
|
||||||
@ -284,12 +275,6 @@ class ObjectMember:
|
|||||||
self.skipped = skipped
|
self.skipped = skipped
|
||||||
self.class_ = class_
|
self.class_ = class_
|
||||||
|
|
||||||
def __getitem__(self, index: int) -> Any:
|
|
||||||
warnings.warn('The tuple interface of ObjectMember is deprecated. '
|
|
||||||
'Use (obj.__name__, obj.object) instead.',
|
|
||||||
RemovedInSphinx80Warning, stacklevel=2)
|
|
||||||
return (self.__name__, self.object)[index]
|
|
||||||
|
|
||||||
|
|
||||||
class Documenter:
|
class Documenter:
|
||||||
"""
|
"""
|
||||||
@ -684,21 +669,8 @@ class Documenter:
|
|||||||
|
|
||||||
# process members and determine which to skip
|
# process members and determine which to skip
|
||||||
for obj in members:
|
for obj in members:
|
||||||
try:
|
membername = obj.__name__
|
||||||
membername = obj.__name__
|
member = obj.object
|
||||||
member = obj.object
|
|
||||||
except AttributeError:
|
|
||||||
if isinstance(obj, ObjectMember):
|
|
||||||
raise
|
|
||||||
# To be removed, retained for compatibility.
|
|
||||||
# See https://github.com/sphinx-doc/sphinx/issues/11631
|
|
||||||
membername, member = obj
|
|
||||||
warnings.warn(
|
|
||||||
'Returning tuples of (name, object) as '
|
|
||||||
'the second return value from get_object_members() is deprecated. '
|
|
||||||
'Return ObjectMember(name, object) instances instead.',
|
|
||||||
RemovedInSphinx80Warning, stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
# if isattr is True, the member is documented as an attribute
|
# if isattr is True, the member is documented as an attribute
|
||||||
isattr = member is INSTANCEATTR or (namespace, membername) in attr_docs
|
isattr = member is INSTANCEATTR or (namespace, membername) in attr_docs
|
||||||
|
Loading…
Reference in New Issue
Block a user