Skip to content

Commit

Permalink
gh-122129: Improve support of method descriptors and wrappers in the …
Browse files Browse the repository at this point in the history
…help title (GH-122157)
  • Loading branch information
serhiy-storchaka authored and pull[bot] committed Sep 2, 2024
1 parent 232147e commit e399970
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
7 changes: 7 additions & 0 deletions Lib/pydoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -1682,6 +1682,13 @@ def describe(thing):
return 'function ' + thing.__name__
if inspect.ismethod(thing):
return 'method ' + thing.__name__
if inspect.ismethodwrapper(thing):
return 'method wrapper ' + thing.__name__
if inspect.ismethoddescriptor(thing):
try:
return 'method descriptor ' + thing.__name__
except AttributeError:
pass
return type(thing).__name__

def locate(path, forceload=0):
Expand Down
13 changes: 10 additions & 3 deletions Lib/test/test_pydoc/test_pydoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -776,9 +776,16 @@ def run_pydoc_pager(request, what, expected_first_line):
'Help on function help in module pydoc:')
run_pydoc_pager('str', 'str', 'Help on class str in module builtins:')
run_pydoc_pager(str, 'str', 'Help on class str in module builtins:')
run_pydoc_pager('str.upper', 'str.upper', 'Help on method_descriptor in str:')
run_pydoc_pager(str.upper, 'str.upper', 'Help on method_descriptor:')
run_pydoc_pager(str.__add__, 'str.__add__', 'Help on wrapper_descriptor:')
run_pydoc_pager('str.upper', 'str.upper',
'Help on method descriptor upper in str:')
run_pydoc_pager(str.upper, 'str.upper',
'Help on method descriptor upper:')
run_pydoc_pager(''.upper, 'str.upper',
'Help on built-in function upper:')
run_pydoc_pager(str.__add__,
'str.__add__', 'Help on method descriptor __add__:')
run_pydoc_pager(''.__add__,
'str.__add__', 'Help on method wrapper __add__:')
run_pydoc_pager(int.numerator, 'int.numerator',
'Help on getset descriptor builtins.int.numerator:')
run_pydoc_pager(list[int], 'list',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Improve support of method descriptors and wrappers in the help title.

0 comments on commit e399970

Please sign in to comment.