summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Merickel <michael@merickel.org>2015-02-24 18:42:04 -0600
committerMichael Merickel <michael@merickel.org>2015-02-24 18:42:04 -0600
commitaf810c54fa9829096085f0ca601030c4fb74b5c7 (patch)
tree4c12421745bb45ee13b0de31e29db4cb547476a8
parent5080a3ffcf39ed1ea6ca9b8076eea445f23b80d5 (diff)
parent1bcc347b21e6ce317b1fb31610b570b7b9930419 (diff)
downloadpyramid-af810c54fa9829096085f0ca601030c4fb74b5c7.tar.gz
pyramid-af810c54fa9829096085f0ca601030c4fb74b5c7.tar.bz2
pyramid-af810c54fa9829096085f0ca601030c4fb74b5c7.zip
Merge pull request #1592 from davisagli/fix.reloader-non-tty
only reset terminal echo flag if stdin is a tty
-rw-r--r--CHANGES.txt3
-rw-r--r--pyramid/scripts/pserve.py11
2 files changed, 8 insertions, 6 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 3084bcfe6..9b10c0831 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -121,7 +121,8 @@ Bug Fixes
- Work around an issue where ``pserve --reload`` would leave terminal echo
disabled if it reloaded during a pdb session.
- See https://github.com/Pylons/pyramid/pull/1577
+ See https://github.com/Pylons/pyramid/pull/1577,
+ https://github.com/Pylons/pyramid/pull/1592
- ``pyramid.wsgi.wsgiapp`` and ``pyramid.wsgi.wsgiapp2`` now raise
``ValueError`` when accidentally passed ``None``.
diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py
index d68075e01..57e4ab012 100644
--- a/pyramid/scripts/pserve.py
+++ b/pyramid/scripts/pserve.py
@@ -716,11 +716,12 @@ def _turn_sigterm_into_systemexit(): # pragma: no cover
def ensure_echo_on(): # pragma: no cover
if termios:
- fd = sys.stdin.fileno()
- attr_list = termios.tcgetattr(fd)
- if not attr_list[3] & termios.ECHO:
- attr_list[3] |= termios.ECHO
- termios.tcsetattr(fd, termios.TCSANOW, attr_list)
+ fd = sys.stdin
+ if fd.isatty():
+ attr_list = termios.tcgetattr(fd)
+ if not attr_list[3] & termios.ECHO:
+ attr_list[3] |= termios.ECHO
+ termios.tcsetattr(fd, termios.TCSANOW, attr_list)
def install_reloader(poll_interval=1, extra_files=None): # pragma: no cover
"""