eric7/DebugClients/Python/getpass.py

branch
eric7
changeset 8312
800c432b34c8
parent 7923
91e843545d9a
child 8881
54e42bc2437a
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing utilities to get a password and/or the current user name.
8
9 getpass(prompt) - prompt for a password, with echo turned off
10 getuser() - get the user name from the environment or password database
11
12 This module is a replacement for the one found in the Python distribution. It
13 is to provide a debugger compatible variant of the a.m. functions.
14 """
15
16 __all__ = ["getpass", "getuser"]
17
18
19 def getuser():
20 """
21 Function to get the username from the environment or password database.
22
23 First try various environment variables, then the password
24 database. This works on Windows as long as USERNAME is set.
25
26 @return username
27 @rtype str
28 """
29 # this is copied from the oroginal getpass.py
30
31 import os
32
33 for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
34 user = os.environ.get(name)
35 if user:
36 return user
37
38 # If this fails, the exception will "explain" why
39 import pwd
40 return pwd.getpwuid(os.getuid())[0]
41
42
43 def getpass(prompt='Password: '):
44 """
45 Function to prompt for a password, with echo turned off.
46
47 @param prompt Prompt to be shown to the user
48 @type str
49 @return Password entered by the user
50 @rtype str
51 """
52 return input(prompt, False) # secok
53
54
55 unix_getpass = getpass
56 win_getpass = getpass
57 default_getpass = getpass
58 fallback_getpass = getpass

eric ide

mercurial