Skip to content

Commit e399970

Browse files
serhiy-storchakapull[bot]
authored andcommitted
gh-122129: Improve support of method descriptors and wrappers in the help title (GH-122157)
1 parent 232147e commit e399970

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

Lib/pydoc.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1682,6 +1682,13 @@ def describe(thing):
16821682
return 'function ' + thing.__name__
16831683
if inspect.ismethod(thing):
16841684
return 'method ' + thing.__name__
1685+
if inspect.ismethodwrapper(thing):
1686+
return 'method wrapper ' + thing.__name__
1687+
if inspect.ismethoddescriptor(thing):
1688+
try:
1689+
return 'method descriptor ' + thing.__name__
1690+
except AttributeError:
1691+
pass
16851692
return type(thing).__name__
16861693

16871694
def locate(path, forceload=0):

Lib/test/test_pydoc/test_pydoc.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -776,9 +776,16 @@ def run_pydoc_pager(request, what, expected_first_line):
776776
'Help on function help in module pydoc:')
777777
run_pydoc_pager('str', 'str', 'Help on class str in module builtins:')
778778
run_pydoc_pager(str, 'str', 'Help on class str in module builtins:')
779-
run_pydoc_pager('str.upper', 'str.upper', 'Help on method_descriptor in str:')
780-
run_pydoc_pager(str.upper, 'str.upper', 'Help on method_descriptor:')
781-
run_pydoc_pager(str.__add__, 'str.__add__', 'Help on wrapper_descriptor:')
779+
run_pydoc_pager('str.upper', 'str.upper',
780+
'Help on method descriptor upper in str:')
781+
run_pydoc_pager(str.upper, 'str.upper',
782+
'Help on method descriptor upper:')
783+
run_pydoc_pager(''.upper, 'str.upper',
784+
'Help on built-in function upper:')
785+
run_pydoc_pager(str.__add__,
786+
'str.__add__', 'Help on method descriptor __add__:')
787+
run_pydoc_pager(''.__add__,
788+
'str.__add__', 'Help on method wrapper __add__:')
782789
run_pydoc_pager(int.numerator, 'int.numerator',
783790
'Help on getset descriptor builtins.int.numerator:')
784791
run_pydoc_pager(list[int], 'list',
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Improve support of method descriptors and wrappers in the help title.

0 commit comments

Comments
 (0)