
|«‘_5  ã               @   s9   d  d l  Z  d  d l m Z Gd d „  d e j ƒ Z d S)é    N)Úuploadc               @   s:   e  Z d  Z d Z d d „  Z d d „  Z d d „  Z d S)	r   za
    Override default upload behavior to obtain password
    in a variety of different ways.
    c             C   s8   t  j j |  ƒ |  j p. |  j ƒ  p. |  j ƒ  |  _ d  S)N)Úorigr   Úfinalize_optionsÚpasswordÚ_load_password_from_keyringÚ_prompt_for_password)Úself© r	   ú?/tmp/pip-build-3_sjtvrs/setuptools/setuptools/command/upload.pyr      s    	zupload.finalize_optionsc             C   s?   y& t  d ƒ } | j |  j |  j ƒ SWn t k
 r: Yn Xd S)zM
        Attempt to load password from keyring. Suppress Exceptions.
        ÚkeyringN)Ú
__import__Zget_passwordÚ
repositoryÚusernameÚ	Exception)r   r   r	   r	   r
   r      s
    z"upload._load_password_from_keyringc             C   s-   y t  j  ƒ  SWn t t f k
 r( Yn Xd S)zH
        Prompt for a password on the tty. Suppress Exceptions.
        N)Úgetpassr   ÚKeyboardInterrupt)r   r	   r	   r
   r      s    zupload._prompt_for_passwordN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r	   r	   r	   r
   r      s   

r   )r   Údistutils.commandr   r   r	   r	   r	   r
   Ú<module>   s   