gh-52161: Enhance Cmd support for docstrings (#110987)

In `cmd.Cmd.do_help` call `inspect.cleandoc()`,
to clean indentation and remove leading/trailing empty
lines from a dosctring before printing.
This commit is contained in:
Filip Łapkiewicz 2024-01-03 20:37:34 +01:00 committed by GitHub
parent f1f8392432
commit 4c4b08dd2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View file

@ -42,7 +42,7 @@
functions respectively. functions respectively.
""" """
import string, sys import inspect, string, sys
__all__ = ["Cmd"] __all__ = ["Cmd"]
@ -305,6 +305,7 @@ def do_help(self, arg):
except AttributeError: except AttributeError:
try: try:
doc=getattr(self, 'do_' + arg).__doc__ doc=getattr(self, 'do_' + arg).__doc__
doc = inspect.cleandoc(doc)
if doc: if doc:
self.stdout.write("%s\n"%str(doc)) self.stdout.write("%s\n"%str(doc))
return return

View file

@ -0,0 +1,2 @@
:meth:`cmd.Cmd.do_help` now cleans docstrings with :func:`inspect.cleandoc`
before writing them. Patch by Filip Łapkiewicz.