mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
Do the check for lacking sys.stdin.fileno() *before* testing for
Windows. If sys.stdin doesn't appear to be a real file (characterized by having a working fileno()), don't use any console specific methods -- go straight to the default.
This commit is contained in:
parent
ef0056ae1a
commit
0238a25b20
@ -19,6 +19,10 @@ def getpass(prompt='Password: '):
|
||||
"""
|
||||
|
||||
import sys
|
||||
try:
|
||||
fd = sys.stdin.fileno()
|
||||
except:
|
||||
return default_getpass(prompt)
|
||||
try:
|
||||
import termios, TERMIOS
|
||||
except ImportError:
|
||||
@ -29,10 +33,6 @@ def getpass(prompt='Password: '):
|
||||
else:
|
||||
return win_getpass(prompt)
|
||||
|
||||
try:
|
||||
fd = sys.stdin.fileno()
|
||||
except:
|
||||
return default_getpass(prompt)
|
||||
old = termios.tcgetattr(fd) # a copy to save
|
||||
new = old[:]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user