Merge 3.5: issue #26801

This commit is contained in:
Victor Stinner 2016-04-19 22:29:11 +02:00
commit 5bfe0da808
4 changed files with 8 additions and 1 deletions

View File

@ -1072,7 +1072,7 @@ def get_terminal_size(fallback=(80, 24)):
if columns <= 0 or lines <= 0: if columns <= 0 or lines <= 0:
try: try:
size = os.get_terminal_size(sys.__stdout__.fileno()) size = os.get_terminal_size(sys.__stdout__.fileno())
except (NameError, OSError): except (AttributeError, OSError):
size = os.terminal_size(fallback) size = os.terminal_size(fallback)
if columns <= 0: if columns <= 0:
columns = size.columns columns = size.columns

View File

@ -1837,6 +1837,8 @@ class TermsizeTests(unittest.TestCase):
self.assertEqual(size.lines, 888) self.assertEqual(size.lines, 888)
@unittest.skipUnless(os.isatty(sys.__stdout__.fileno()), "not on tty") @unittest.skipUnless(os.isatty(sys.__stdout__.fileno()), "not on tty")
@unittest.skipUnless(hasattr(os, 'get_terminal_size'),
'need os.get_terminal_size()')
def test_stty_match(self): def test_stty_match(self):
"""Check if stty returns the same results ignoring env """Check if stty returns the same results ignoring env

View File

@ -90,6 +90,7 @@ Matthew Barnett
Richard Barran Richard Barran
Cesar Eduardo Barros Cesar Eduardo Barros
Des Barry Des Barry
Emanuel Barry
Ulf Bartelt Ulf Bartelt
Campbell Barton Campbell Barton
Don Bashford Don Bashford

View File

@ -245,6 +245,10 @@ Core and Builtins
Library Library
------- -------
- Issue #26801: Fix error handling in :func:`shutil.get_terminal_size`, catch
:exc:`AttributeError` instead of :exc:`NameError`. Patch written by Emanuel
Barry.
- Issue #24838: tarfile's ustar and gnu formats now correctly calculate name - Issue #24838: tarfile's ustar and gnu formats now correctly calculate name
and link field limits for multibyte character encodings like utf-8. and link field limits for multibyte character encodings like utf-8.