diff options
-rw-r--r-- | Lib/getpass.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Lib/getpass.py b/Lib/getpass.py index d67240e..be7a2f9 100644 --- a/Lib/getpass.py +++ b/Lib/getpass.py @@ -36,7 +36,7 @@ def getpass(prompt='Password: '): new[3] = new[3] & ~TERMIOS.ECHO # 3 == 'lflags' try: termios.tcsetattr(fd, TERMIOS.TCSADRAIN, new) - passwd = raw_input(prompt) + passwd = _raw_input(prompt) finally: termios.tcsetattr(fd, TERMIOS.TCSADRAIN, old) @@ -66,7 +66,22 @@ def win_getpass(prompt='Password: '): def default_getpass(prompt='Password: '): - return raw_input(prompt) + return _raw_input(prompt) + + +def _raw_input(prompt=""): + # A raw_input() replacement that doesn't save the string in the + # GNU readline history. + import sys + prompt = str(prompt) + if prompt: + sys.stdout.write(prompt) + line = sys.stdin.readline() + if not line: + raise EOFError + if line[-1] == '\n': + line = line[:-1] + return line def getuser(): |