summaryrefslogtreecommitdiffstats
path: root/Lib/pydoc.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-07-31 21:51:48 (GMT)
committerGeorg Brandl <georg@python.org>2010-07-31 21:51:48 (GMT)
commit78aa3964156c97329ca514d1f38bd3fbc2eda8db (patch)
tree173063e11adf9c2e4cddc0a192fc0a0e50eb9a57 /Lib/pydoc.py
parentbb1901529dd7fa4345b8792fa166415a79494179 (diff)
downloadcpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.zip
cpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.tar.gz
cpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.tar.bz2
#8198: the Helper class should not save the stdin and stdout objects
at import time, rather by default use the current streams like the other APIs that output help.
Diffstat (limited to 'Lib/pydoc.py')
-rwxr-xr-xLib/pydoc.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 95eb318..4f22887 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1695,9 +1695,17 @@ class Helper:
'CONTEXTMANAGERS': ('context-managers', 'with'),
}
- def __init__(self, input, output):
- self.input = input
- self.output = output
+ def __init__(self, input=None, output=None):
+ self._input = input
+ self._output = output
+
+ @property
+ def input(self):
+ return self._input or sys.stdin
+
+ @property
+ def output(self):
+ return self._output or sys.stdout
def __repr__(self):
if inspect.stack()[1][3] == '?':
@@ -1874,7 +1882,7 @@ Enter any module name to get more help. Or, type "modules spam" to search
for modules whose descriptions contain the word "spam".
''')
-help = Helper(sys.stdin, sys.stdout)
+help = Helper()
class Scanner:
"""A generic tree iterator."""