20 """ |
20 """ |
21 Function to get the username from the environment or password database. |
21 Function to get the username from the environment or password database. |
22 |
22 |
23 First try various environment variables, then the password |
23 First try various environment variables, then the password |
24 database. This works on Windows as long as USERNAME is set. |
24 database. This works on Windows as long as USERNAME is set. |
25 |
25 |
26 @return username |
26 @return username |
27 @rtype str |
27 @rtype str |
28 """ |
28 """ |
29 # this is copied from the original getpass.py |
29 # this is copied from the original getpass.py |
30 |
30 |
31 import os |
31 import os |
32 |
32 |
33 for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'): |
33 for name in ("LOGNAME", "USER", "LNAME", "USERNAME"): |
34 user = os.environ.get(name) |
34 user = os.environ.get(name) |
35 if user: |
35 if user: |
36 return user |
36 return user |
37 |
37 |
38 # If this fails, the exception will "explain" why |
38 # If this fails, the exception will "explain" why |
39 import pwd |
39 import pwd |
|
40 |
40 return pwd.getpwuid(os.getuid())[0] |
41 return pwd.getpwuid(os.getuid())[0] |
41 |
42 |
42 |
43 |
43 def getpass(prompt='Password: ', stream=None): |
44 def getpass(prompt="Password: ", stream=None): |
44 """ |
45 """ |
45 Function to prompt for a password, with echo turned off. |
46 Function to prompt for a password, with echo turned off. |
46 |
47 |
47 @param prompt Prompt to be shown to the user |
48 @param prompt Prompt to be shown to the user |
48 @type str |
49 @type str |
49 @param stream input stream to read from (ignored) |
50 @param stream input stream to read from (ignored) |
50 @type file |
51 @type file |
51 @return Password entered by the user |
52 @return Password entered by the user |
52 @rtype str |
53 @rtype str |
53 """ |
54 """ |
54 return input(prompt, False) # secok |
55 return input(prompt, False) # secok |
55 |
56 |
56 |
57 |
57 unix_getpass = getpass |
58 unix_getpass = getpass |
58 win_getpass = getpass |
59 win_getpass = getpass |
59 default_getpass = getpass |
60 default_getpass = getpass |