-í
ç¶<c       sÝ   d  Z  d k Z d d g Z d d „ Z d d „ Z d d „ Z d d	 „ Z d
 „  Z y d k Z Wno e	 j
 oc y d k
 Z
 WnF e	 j
 o: y d k l Z Wn e	 j
 o e Z n Xe Z n Xe Z n Xe Z d S(   s)  Utilities to get a password and/or the current user name.

getpass(prompt) - prompt for a password, with echo turned off
getuser() - get the user name from the environment or password database

On Windows, the msvcrt module will be used.
On the Mac EasyDialogs.AskPassword is used, if available.

Ns   getpasss   getusers
   Password: c    s«   y t  i i ƒ  } Wn t |  ƒ Sn Xt i | ƒ } | } | d t i
 @| d <z& t i | t i | ƒ t |  ƒ } Wd t i | t i | ƒ Xt  i i d ƒ | Sd S(   sX   Prompt for a password, with echo turned off.

    Restore terminal settings at end.
    i   Ns   
(   s   syss   stdins   filenos   fds   default_getpasss   prompts   termioss	   tcgetattrs   olds   news   ECHOs	   tcsetattrs	   TCSADRAINs
   _raw_inputs   passwds   stdouts   write(   s   prompts   fds   news   passwds   old(    (    s   /usr/lib/python2.2/getpass.pys   unix_getpass s      c    sæ   t  i t  i j	 o t |  ƒ Sn d k } x |  D] } | i | ƒ q1 Wd } xs d ok | i	 ƒ  } | d j p
 | d j o Pn | d j o
 t
 ‚ n | d j o | d  } n | | } qQ W| i d ƒ | i d ƒ | Sd S(	   s9   Prompt for password with echo off, using Windows getch().Ns    i   s   s   
s   s   iÿÿÿÿ(   s   syss   stdins	   __stdin__s   default_getpasss   prompts   msvcrts   cs   putchs   pws   getchs   KeyboardInterrupt(   s   prompts   cs   pws   msvcrt(    (    s   /usr/lib/python2.2/getpass.pys   win_getpass+ s*     	  
c    s   d GHt  |  ƒ Sd  S(   Ns7   Warning: Problem with getpass. Passwords may be echoed.(   s
   _raw_inputs   prompt(   s   prompt(    (    s   /usr/lib/python2.2/getpass.pys   default_getpassB s    s    c    so   t  |  ƒ }  |  o t i i |  ƒ n t i i ƒ  } | o
 t ‚ n | d d j o | d  } n | Sd  S(   Niÿÿÿÿs   
(	   s   strs   prompts   syss   stdouts   writes   stdins   readlines   lines   EOFError(   s   prompts   line(    (    s   /usr/lib/python2.2/getpass.pys
   _raw_inputG s    
c     sk   d k  } x; d d d d f D]' } | i i | ƒ } | o | Sn q Wd k }  |  i | i ƒ  ƒ d Sd S(   sÂ   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.

    Ns   LOGNAMEs   USERs   LNAMEs   USERNAMEi    (   s   oss   names   environs   gets   users   pwds   getpwuids   getuid(   s   pwds   oss   names   user(    (    s   /usr/lib/python2.2/getpass.pys   getuserU s     	 	(   s   AskPassword(   s   __doc__s   syss   __all__s   unix_getpasss   win_getpasss   default_getpasss
   _raw_inputs   getusers   termioss   ImportErrors   msvcrts   EasyDialogss   AskPasswords   getpass(   s   unix_getpasss   getpasss   __all__s
   _raw_inputs   win_getpasss   termioss   syss   getusers   msvcrts   default_getpasss   AskPassword(    (    s   /usr/lib/python2.2/getpass.pys   ?	 s(   		