summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilip Łapkiewicz <80906036+fipachu@users.noreply.github.com>2024-01-03 19:37:34 (GMT)
committerGitHub <noreply@github.com>2024-01-03 19:37:34 (GMT)
commit4c4b08dd2bd5f2cad4e41bf29119a3daa2956f6e (patch)
tree31653bc883f2cc794ea67fe01fa5a90322eac73c
parentf1f839243251fef7422c31d6a7c3c747e0b5e27c (diff)
downloadcpython-4c4b08dd2bd5f2cad4e41bf29119a3daa2956f6e.zip
cpython-4c4b08dd2bd5f2cad4e41bf29119a3daa2956f6e.tar.gz
cpython-4c4b08dd2bd5f2cad4e41bf29119a3daa2956f6e.tar.bz2
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.
-rw-r--r--Lib/cmd.py3
-rw-r--r--Misc/NEWS.d/next/Library/2023-10-17-16-11-03.gh-issue-52161.WBYyCJ.rst2
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/cmd.py b/Lib/cmd.py
index 2e358d6..a37d16c 100644
--- a/Lib/cmd.py
+++ b/Lib/cmd.py
@@ -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
diff --git a/Misc/NEWS.d/next/Library/2023-10-17-16-11-03.gh-issue-52161.WBYyCJ.rst b/Misc/NEWS.d/next/Library/2023-10-17-16-11-03.gh-issue-52161.WBYyCJ.rst
new file mode 100644
index 0000000..3f598d4
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-10-17-16-11-03.gh-issue-52161.WBYyCJ.rst
@@ -0,0 +1,2 @@
+:meth:`cmd.Cmd.do_help` now cleans docstrings with :func:`inspect.cleandoc`
+before writing them. Patch by Filip Łapkiewicz.