™N
æu¦9c       sX     d  Z    d d „ Z 9 d d „ Z N d d „ Z R d d „ Z a d „  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

Authors: Piers Lauder (original)
         Guido van Rossum (Windows support and cleanup)
c 
   s     k  }  y  | i i ƒ  } Wn   t |  ƒ Sn X y  k } k } Wn  t j
 o  y   k	 } WnZ ! t j
 oK " y # k
 l Wn# $ t j
 o % t |  ƒ Sn X' | |  ƒ Sn X) t |  ƒ Sn X+ | i | ƒ } , | } . | d | i @| d </ z, 0 | i | | i | ƒ 1 t |  ƒ }	 Wd 2 3 | i | | i | ƒ X5 | i i d ƒ 6 |	 Sd S(   só   Prompt for a password, with echo turned off.

	Restore terminal settings at end.

	On Windows, this calls win_getpass(prompt) which uses the
	msvcrt module to get the same effect.
	
	On the Mac EasyDialogs.AskPassword is used, if available.

	i   Ns   
(   s   syss   stdins   filenos   fds   default_getpasss   prompts   termioss   TERMIOSs   ImportErrors   msvcrts   EasyDialogss   AskPasswords   win_getpasss	   tcgetattrs   olds   news   ECHOs	   tcsetattrs	   TCSADRAINs
   _raw_inputs   passwds   stdouts   write(
   s   prompts   syss   fds   termioss   TERMIOSs   msvcrts   AskPasswords   olds   news   passwds+   /usr/lib/python1.5/site-packages/getpass.pys   getpass s8   
	
s
   Password: c    s  9 : ; k  } < x# |  d < r } = | i | ƒ q W> d } ? x ? d o„ @ | i ƒ  } A | d j p
 | d j o B Pn C | d j o D t ‚ n E | d j o F | d  } n H | | } qG WI | i d ƒ J | i d ƒ K | Sd S(	   s9   Prompt for password with echo off, using Windows getch().i    s    i   s   s   
s   s   N(   s   msvcrts   prompts   cs   putchs   pws   getchs   KeyboardInterrupt(   s   prompts   msvcrts   cs   pws+   /usr/lib/python1.5/site-packages/getpass.pys   win_getpass9 s&   	 		 
c    s   N O t  |  ƒ Sd  S(   N(   s
   _raw_inputs   prompt(   s   prompts+   /usr/lib/python1.5/site-packages/getpass.pys   default_getpassN s   c    s˜   R U k  } V t |  ƒ }  W |  o X | i i |  ƒ n Y | i i ƒ  } Z | o [ t ‚ n \ | d d j o ] | d  } n ^ | Sd  S(   Ni   s   
(	   s   syss   strs   prompts   stdouts   writes   stdins   readlines   lines   EOFError(   s   prompts   syss   lines+   /usr/lib/python1.5/site-packages/getpass.pys
   _raw_inputR s   	
s    c     s…   a g i k  }  k xI d d d d f d k r0 } l |  i i | ƒ } m | o n | Sn q' Wq k } r | 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.

	s   LOGNAMEs   USERs   LNAMEs   USERNAMEi    N(   s   oss   names   environs   gets   users   pwds   getpwuids   getuid(   s   oss   names   users   pwds+   /usr/lib/python1.5/site-packages/getpass.pys   getusera s   	 	
	N(   s   __doc__s   getpasss   win_getpasss   default_getpasss
   _raw_inputs   getuser(    s+   /usr/lib/python1.5/site-packages/getpass.pys   ? s
   .