diff options
| author | Michael Merickel <michael@merickel.org> | 2015-02-24 18:42:04 -0600 |
|---|---|---|
| committer | Michael Merickel <michael@merickel.org> | 2015-02-24 18:42:04 -0600 |
| commit | af810c54fa9829096085f0ca601030c4fb74b5c7 (patch) | |
| tree | 4c12421745bb45ee13b0de31e29db4cb547476a8 | |
| parent | 5080a3ffcf39ed1ea6ca9b8076eea445f23b80d5 (diff) | |
| parent | 1bcc347b21e6ce317b1fb31610b570b7b9930419 (diff) | |
| download | pyramid-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.txt | 3 | ||||
| -rw-r--r-- | pyramid/scripts/pserve.py | 11 |
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 """ |
