make sure the builtin help function doesn't fail when sys.stdin is not a valid file (closes #11709)
Original patch by Amaury Forgeot d'Arc with a test by bdettmer.
This commit is contained in:
parent
96e0430dfb
commit
159824ea2a
|
@ -1417,6 +1417,8 @@ def pager(text):
|
||||||
|
|
||||||
def getpager():
|
def getpager():
|
||||||
"""Decide what method to use for paging through text."""
|
"""Decide what method to use for paging through text."""
|
||||||
|
if not hasattr(sys.stdin, "isatty"):
|
||||||
|
return plainpager
|
||||||
if not hasattr(sys.stdout, "isatty"):
|
if not hasattr(sys.stdout, "isatty"):
|
||||||
return plainpager
|
return plainpager
|
||||||
if not sys.stdin.isatty() or not sys.stdout.isatty():
|
if not sys.stdin.isatty() or not sys.stdout.isatty():
|
||||||
|
|
|
@ -446,6 +446,14 @@ class PydocDocTest(unittest.TestCase):
|
||||||
result, doc_loc = get_pydoc_text(xml.etree)
|
result, doc_loc = get_pydoc_text(xml.etree)
|
||||||
self.assertEqual(doc_loc, "", "MODULE DOCS incorrectly includes a link")
|
self.assertEqual(doc_loc, "", "MODULE DOCS incorrectly includes a link")
|
||||||
|
|
||||||
|
def test_getpager_with_stdin_none(self):
|
||||||
|
previous_stdin = sys.stdin
|
||||||
|
try:
|
||||||
|
sys.stdin = None
|
||||||
|
pydoc.getpager() # Shouldn't fail.
|
||||||
|
finally:
|
||||||
|
sys.stdin = previous_stdin
|
||||||
|
|
||||||
def test_non_str_name(self):
|
def test_non_str_name(self):
|
||||||
# issue14638
|
# issue14638
|
||||||
# Treat illegal (non-str) name like no name
|
# Treat illegal (non-str) name like no name
|
||||||
|
|
|
@ -22,6 +22,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #11709: Fix the pydoc.help function to not fail when sys.stdin is not a
|
||||||
|
valid file.
|
||||||
|
|
||||||
- Issue #13223: Fix pydoc.writedoc so that the HTML documentation for methods
|
- Issue #13223: Fix pydoc.writedoc so that the HTML documentation for methods
|
||||||
that use 'self' in the example code is generated correctly.
|
that use 'self' in the example code is generated correctly.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue