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 @@ listings of documented functions, miscellaneous topics, and undocumented
functions respectively.
"""
import string, sys
import inspect, string, sys
__all__ = ["Cmd"]
@ -305,6 +305,7 @@ class Cmd:
except AttributeError:
try:
doc=getattr(self, 'do_' + arg).__doc__
doc = inspect.cleandoc(doc)
if doc:
self.stdout.write("%s\n"%str(doc))
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.