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:
Guido van Rossum 1998-09-22 02:38:42 +00:00
parent ef0056ae1a
commit 0238a25b20

View File

@ -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[:]