Your IP : 13.59.36.36


Current Path : /opt/alt/python310/lib64/python3.10/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/__pycache__/getpass.cpython-310.pyc

o

6��ff�@s�dZddlZddlZddlZddlZddlZgd�ZGdd�de�Zddd�Z	dd	d
�Z
ddd�Zddd�Zdd�Z
zddlZejejfWn"eefyhzddlZWn
eybeZYYdSwe
ZYdSwe	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@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�./opt/alt/python310/lib64/python3.10/getpass.pyrsr�
Password: c

Cs�d}t����}z%t�dtjtjB�}t�|d�}|�|�t�	|�}|�|�|s+|}Wn/t
y[|��ztj
��}WnttfyPd}t||�}Ynwtj
}|sYtj}Ynw|dur�zLt�|�}|dd�}|dtjM<tj}	ttd�r�|	tjO}	zt�||	|�t|||d�}Wt�||	|�|��nt�||	|�|��wWntjy�|dur��||ur�|��t||�}Ynw|�d�|Wd�S1s�wYdS)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
�old�newZtcsetattr_flagsrrr	�unix_getpasssb



����



��
$�r0cCs�tjtjurt||�S|D]}t�|�q
d}	t��}|dks$|dkr%n|dkr+t�|dkr6|dd�}n||}qt�d�t�d�|S)	z:Prompt for password with echo off, using Windows getwch().���
r��N���)rr�	__stdin__r �msvcrtZputwchZgetwch�KeyboardInterrupt)r*r+�cZpwrrr	�win_getpassas$
�


r;cCs0tjdtdd�|s
tj}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 xs�
r r1cCs�|stj}|s
tj}t|�}|r7z|�|�Wnty2|�|jd�}|�|j�}|�|�Ynw|�	�|�
�}|s?t�|ddkrK|dd�}|S)N�replacer6r)rr!r�strr)�UnicodeEncodeError�encode�encoding�decoder'�readline�EOFError)r*r+r
�linerrr	r&�s(�r&cCs<dD]}tj�|�}|r|Sqddl}|�t���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.

    )ZLOGNAMEZUSERZLNAMEZUSERNAMErN)r�environ�get�pwd�getpwuid�getuid)�name�userrMrrr	r�s�r)r
N)r1NN)�__doc__rrrrr?�__all__�UserWarningrr0r;r r&rr"r#r%�ImportErrorrr8rrrrr	�<module>s2

D

	�
�

?>