ó
ĵS]c           @@ s  d  Z  d d l m Z m Z d d l Z y d d l m Z Wn! e k
 r_ d d l m Z n Xd a	 e
   a d   Z d   Z d   Z d   Z d	   Z d
   Z y d d l Z Wn! e k
 rĜ d Z e d  n Xd   Z d   Z d   Z d   Z d S(   s    OS keychain/keyring abstraction.i    (   t   absolute_importt   print_functionN(   t
   quote_plusc           C@ s   t  d a  d  S(   Ni   (   t   _fallback_keyring(    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   enable_fallback_keyring   s    c           C@ s8   t  d k s t  t  d a  t  d k r4 t   a n  d  S(   Ni    i   (   R   t   AssertionErrort   dictt   _fake_in_memory_keyring(    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   disable_fallback_keyring   s    
c           C@ s
   t  d k S(   Ni    (   R   (    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   _use_fallback_keyring%   s    c         C@ sA   t    s= t d d t j t d |  d t j t   n  d  S(   Ns0   Unable to use system keyring to store passwords.t   files     (%s)(   R	   t   printt   syst   stderrR   (   t	   complaint(    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt%   _onetime_keyring_complain_and_disable*   s    	c           C@ s   t    a d a d  S(   Ni    (   R   R   R   (    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   reset_keyring_module4   s    	c           C@ s   t  S(   N(   R   (    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   fallback_data;   s    sE   Module 'keyring' not available, try installing the 'keyring' package.c         C@ s>   |  d  k	 s t  | d  k	 s$ t  d t |   t |  f S(   Ns   %s/%s(   t   NoneR   R   (   t
   env_prefixt   variable(    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   _make_usernameF   s    c         C@ so   t  |  |  } t   s_ y t j d |  } | SWq_ t k
 r[ } t d t |   q_ Xn  t j | d   S(   Nt   anacondas   Exception getting a password: (
   R   R	   t   keyringt   get_passwordt	   ExceptionR   t   strR   t   getR   (   R   R   t   namet   gott   e(    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyR   M   s    	c         C@ s   | d  k	 s t  t |  |  } t   sr y t j d | |  d  SWqr t k
 rn } t d t |   qr Xn  | t	 | <d  S(   NR   s   Exception setting a password: (
   R   R   R   R	   R   t   set_passwordR   R   R   R   (   R   R   t   valueR   R   (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   set\   s    	c         C@ sw   t  |  |  } t   s] y t j d |  d  SWq] t k
 rY } t d t |   q] Xn  | t k rs t | =n  d  S(   NR   s   Exception deleting a password: (   R   R	   R   t   delete_passwordR   R   R   R   (   R   R   R   R   (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   unsetm   s    	(   t   __doc__t
   __future__R    R   R   t   urllib.parseR   t   ImportErrort   urllibR   R   R   R   R   R	   R   R   R   R   R   R   R   R!   R#   (    (    (    s@   lib/python2.7/site-packages/anaconda_project/internal/keyring.pyt   <module>   s.   			
		
					