src/eric7/DebugClients/Python/getpass.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8948
9ddea4f0ad87
child 9221
bf71ee032bb4
diff -r 3fc8dfeb6ebe -r b99e7fd55fd3 src/eric7/DebugClients/Python/getpass.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/DebugClients/Python/getpass.py	Thu Jul 07 11:23:56 2022 +0200
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing utilities to get a password and/or the current user name.
+
+getpass(prompt) - prompt for a password, with echo turned off
+getuser() - get the user name from the environment or password database
+
+This module is a replacement for the one found in the Python distribution. It
+is to provide a debugger compatible variant of the a.m. functions.
+"""
+
+__all__ = ["getpass", "getuser"]
+
+
+def getuser():
+    """
+    Function to get the username from the environment or password database.
+
+    First try various environment variables, then the password
+    database.  This works on Windows as long as USERNAME is set.
+    
+    @return username
+    @rtype str
+    """
+    # this is copied from the original getpass.py
+    
+    import os
+
+    for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
+        user = os.environ.get(name)
+        if user:
+            return user
+
+    # If this fails, the exception will "explain" why
+    import pwd
+    return pwd.getpwuid(os.getuid())[0]
+
+
+def getpass(prompt='Password: ', stream=None):
+    """
+    Function to prompt for a password, with echo turned off.
+    
+    @param prompt Prompt to be shown to the user
+    @type str
+    @param stream input stream to read from (ignored)
+    @type file
+    @return Password entered by the user
+    @rtype str
+    """
+    return input(prompt, False)     # secok
+
+
+unix_getpass = getpass
+win_getpass = getpass
+default_getpass = getpass
+fallback_getpass = getpass

eric ide

mercurial