3
Ò»e”  ã               @   s*   d dl Z d dlmZ G d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tjƒ | _| jp0| jƒ p0| jƒ | _d S )N)	Úorigr   Úfinalize_optionsÚusernameÚgetpassÚgetuserÚpasswordÚ_load_password_from_keyringÚ_prompt_for_password)Úself© r   ú?/tmp/pip-build-argcdawy/setuptools/setuptools/command/upload.pyr      s    
zupload.finalize_optionsc             C   s2   yt dƒ}|j| j| jƒS  tk
r,   Y nX dS )zM
        Attempt to load password from keyring. Suppress Exceptions.
        ÚkeyringN)Ú
__import__Zget_passwordÚ
repositoryr   Ú	Exception)r   r   r   r   r   r	      s
    z"upload._load_password_from_keyringc             C   s&   yt j ƒ S  ttfk
r    Y nX dS )zH
        Prompt for a password on the tty. Suppress Exceptions.
        N)r   r   Ú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   