Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/getpass.cpython-35.pyc



Yfj@s4dZddlZddlZddlZddlZddlZdddgZGdddeZdddd	Z	ddd
dZ
dddd
ZdddddZddZ
y ddlZejejfWnIeefk
r)yddlZWnek
reZYnXe
ZYnXe	ZdS)aUtilities 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.

NgetpassgetuserGetPassWarningc@seZdZdS)rN)__name__
__module____qualname__rr,/opt/alt/python35/lib64/python3.5/getpass.pyrsz
Password: c.Cs$d}tj}ygtjdtjtjB}tj|d}|j|tj	|}|j||s{|}Wnt
k
r}zj|jytj
j}Wn-ttfk
rd}t||}YnXtj
}|stj}WYdd}~XnX|dk	rytj|}|dd}	|	dtjM<tj}
ttdrn|
tjO}
z,tj||
|	t||d|}Wdtj||
||jXWnItjk
r|dk	r||k	r|jt||}YnX|jd|SWdQRXdS)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+TCSASOFTinput
)
contextlib	ExitStackosopenO_RDWRO_NOCTTYioFileIO
enter_context
TextIOWrapperOSErrorclosesysstdinfilenoAttributeError
ValueErrorfallback_getpassstderrtermios	tcgetattrZECHOZ	TCSAFLUSHhasattrr	tcsetattr
_raw_inputflusherrorwrite)promptstreamZpasswdstackfdZttyreoldnewZtcsetattr_flagsrrr	unix_getpasssR



		


r0cCstjtjk	rt||Sx|D]}tj|q&Wd}xdtj}|dksj|dkrkP|dkr}t|dkr|dd}qF||}qFWtjdtjd|S)	z9Prompt for password with echo off, using Windows getch().
r
N)rr	__stdin__rmsvcrtZputwchZgetwchKeyboardInterrupt)r)r*cZpwrrr	win_getpassas"



r;cCsBtjdtdd|s%tj}tdd|t||S)Nz%Can not control echo on the terminal.
stacklevelz&Warning: Password input may be echoed.file)warningswarnrrr printr%)r)r*rrr	rxs	rr1cCs|stj}|stj}t|}|ry|j|WnFtk
r|j|jd}|j|j}|j|YnX|j	|j
}|st|ddkr|dd}|S)Nreplacer5r
r6r6)rr rstrr(UnicodeEncodeErrorencodeencodingdecoder&readlineEOFError)r)r*rlinerrr	r%s&		

r%cCsPx*dD]"}tjj|}|r|SqWddl}|jtjdS)zGet 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.

    LOGNAMEUSERLNAMEUSERNAMErN)rKrLrMrN)renvirongetpwdgetpwuidgetuid)nameuserrQrrr	rs
)__doc__rrrrr?__all__UserWarningrr0r;rr%rr!r"r$ImportErrorrr8rrrrr	<module>s,D	

Back to Directory File Manager