Your IP : 3.145.92.183
3
� fj�@s�dZddlZddlZddlZddlZddlZdddgZGdd�de�Zddd �Z dd
d�Z
ddd
�Zddd�Zdd�Z
yddlZejejfWnBeefk
r�yddlZWnek
r�eZYnXe
ZYnXe ZdS)a�Utilities to get a password and/or the current user name.
getpass(prompt[, stream]) - Prompt for a password, with echo turned off.
getuser() - Get the user name from the environment or password database.
GetPassWarning - This UserWarning is issued when getpass() cannot prevent
echoing of the password contents while reading.
On Windows, the msvcrt module will be used.
�N�getpass�getuser�GetPassWarningc@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�,/opt/alt/python36/lib64/python3.6/getpass.pyrs�
Password: c.Cs�d}tj����}yJtjdtjtjB�}tj|d�}|j|�tj |�}|j|�|sX|}Wnpt
k
r�}zT|j�ytj
j�}Wn&ttfk
r�d}t||�}YnXtj
}|s�tj}WYdd}~XnX|dk �r�y�tj|�}|dd�} | dtjM<tj}
ttd��r|
tjO}
z tj||
| �t|||d�}Wdtj||
|�|j�XWn@tjk
�r�|dk �rz�||k �r�|j�t||�}YnX|jd�|SQRXdS)aPrompt for a password, with echo turned off.
Args:
prompt: Written on stream to ask for the input. Default: 'Password: '
stream: A writable file object to display the prompt. Defaults to
the tty. If no tty is available defaults to sys.stderr.
Returns:
The seKr3t input.
Raises:
EOFError: If our input tty or stdin was closed.
GetPassWarning: When we were unable to turn echo off on the input.
Always restores terminal settings before returning.
Nz/dev/ttyzw+��TCSASOFT)�input�
)�
contextlib� ExitStack�os�open�O_RDWR�O_NOCTTY�io�FileIO�
enter_context�
TextIOWrapper�OSError�close�sys�stdin�fileno�AttributeError�
ValueError�fallback_getpass�stderr�termios� tcgetattrZECHOZ TCSAFLUSH�hasattrr� tcsetattr�
_raw_input�flush�error�write)�prompt�streamZpasswd�stack�fdZttyr
�e�old�newZtcsetattr_flagsrrr �unix_getpasssR
r1cCs�tjtjk rt||�Sx|D]}tj|�qWd}xHtj�}|dksL|dkrNP|dkrZt�|dkrp|dd�}q4||}q4Wtjd�tjd�|S) z9Prompt for password with echo off, using Windows getch().��
r��N����)rr� __stdin__r �msvcrtZputwchZgetwch�KeyboardInterrupt)r*r+�cZpwrrr �win_getpassas"
r<cCs0tjdtdd�|stj}td|d�t||�S)Nz%Can not control echo on the terminal.�)�
stacklevelz&Warning: Password input may be echoed.)�file)�warnings�warnrrr!�printr&)r*r+rrr r xsr r2cCs�|s
tj}|stj}t|�}|rpy|j|�Wn8tk
rf|j|jd�}|j|j�}|j|�YnX|j �|j
�}|s�t�|ddkr�|dd�}|S)N�replacer6rr7r7)rr!r�strr)�UnicodeEncodeError�encode�encoding�decoder'�readline�EOFError)r*r+r
�linerrr r&�s&r&cCs<x dD]}tjj|�}|r|SqWddl}|jtj��dS)z�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.
�LOGNAME�USER�LNAME�USERNAMErN)rLrMrNrO)r�environ�get�pwd�getpwuid�getuid)�name�userrRrrr r�s
)r
N)r
N)r
N)r2NN)�__doc__rrrrr@�__all__�UserWarningrr1r<r r&rr"r#r%�ImportErrorrr9rrrrr �<module>s,
D
?>