
    /d9                     v    d dl Z d dlZ G d dej                  Z G d de          Z G d de          ZdS )	    Nc                   R    e Zd ZdZej        d             Zej        d             ZdS )
Credentialz$Abstract class to manage credentialsc                     d S N selfs    3lib/python3.11/site-packages/keyring/credentials.pyusernamezCredential.username       t    c                     d S r   r   r   s    r
   passwordzCredential.password   r   r   N)__name__
__module____qualname____doc__abcabstractpropertyr   r   r   r   r
   r   r      sV        ..   	    r   r   )	metaclassc                   D    e Zd ZdZd Zed             Zed             ZdS )SimpleCredentialz!Simple credentials implementationc                 "    || _         || _        d S r   )	_username	_password)r	   r   r   s      r
   __init__zSimpleCredential.__init__   s    !!r   c                     | j         S r   )r   r   s    r
   r   zSimpleCredential.username   
    ~r   c                     | j         S r   )r   r   s    r
   r   zSimpleCredential.password   r   r   N)r   r   r   r   r   propertyr   r   r   r   r
   r   r      s_        ++" " "   X   X  r   r   c                   Z    e Zd ZdZd ZdedefdZd Ze	d             Z
e	d             Zd	S )
EnvironCredentialaA  
    Source credentials from environment variables.

    Actual sourcing is deferred until requested.

    Supports comparison by equality.

    >>> e1 = EnvironCredential('a', 'b')
    >>> e2 = EnvironCredential('a', 'b')
    >>> e3 = EnvironCredential('a', 'c')
    >>> e1 == e2
    True
    >>> e2 == e3
    False
    c                 "    || _         || _        d S r   )user_env_varpwd_env_var)r	   r$   r%   s      r
   r   zEnvironCredential.__init__2   s    (&r   otherreturnc                 B    t          |           t          |          k    S r   )vars)r	   r&   s     r
   __eq__zEnvironCredential.__eq__6   s    DzzT%[[((r   c                 l    t           j                            |          }|st          d|z            |S )z&Helper to read an environment variablezMissing environment variable:%s)osenvironget
ValueError)r	   env_varvalues      r
   _get_envzEnvironCredential._get_env9   s7    
w'' 	J>HIIIr   c                 6    |                      | j                  S r   )r2   r$   r   s    r
   r   zEnvironCredential.username@   s    }}T.///r   c                 6    |                      | j                  S r   )r2   r%   r   s    r
   r   zEnvironCredential.passwordD   s    }}T-...r   N)r   r   r   r   r   objectboolr*   r2   r    r   r   r   r   r
   r"   r"   !   s          ' ' ')F )t ) ) ) )   0 0 X0 / / X/ / /r   r"   )r,   r   ABCMetar   r   r"   r   r   r
   <module>r8      s    				 



	 	 	 	 	3; 	 	 	 	    z    %/ %/ %/ %/ %/
 %/ %/ %/ %/ %/r   