From ae9ee7329d350b57a2d7b835e4e77a00b67e21b6 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 12 Jun 1998 14:21:13 +0000 Subject: [PATCH] Use the getpass module instead of having platform-specific echo on/off code here. --- Lib/urllib.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/Lib/urllib.py b/Lib/urllib.py index cabfeeeb6d7..b9317f28b32 100644 --- a/Lib/urllib.py +++ b/Lib/urllib.py @@ -476,30 +476,17 @@ class FancyURLopener(URLopener): def prompt_user_passwd(self, host, realm): # Override this in a GUI environment! + import getpass try: user = raw_input("Enter username for %s at %s: " % (realm, host)) - self.echo_off() - try: - passwd = raw_input( - "Enter password for %s in %s at %s: " % - (user, realm, host)) - finally: - self.echo_on() + passwd = getpass.getpass( + "Enter password for %s in %s at %s: " % + (user, realm, host)) return user, passwd except KeyboardInterrupt: - return None, None - - def echo_off(self): - # XXX Is this sufficient??? - if hasattr(os, "system"): - os.system("stty -echo") - - def echo_on(self): - # XXX Is this sufficient??? - if hasattr(os, "system"): print - os.system("stty echo") + return None, None # Utility functions