
    .Ph,                        d dl mZ d dlZd dlZ G d dej                  Z G d de          Z G d d	e          Z G d
 de          ZdS )    )annotationsNc                  ^    e Zd ZdZej        d	d            Zej        d	d            Zd
dZdS )
Credentialz$Abstract class to manage credentialsreturnstrc                    d S N selfs    S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/keyring/credentials.pyusernamezCredential.username
       "s    c                    d S r	   r
   r   s    r   passwordzCredential.password   r   r   dict[str, str]c                8    t          | j        | j                  S )N)r   r   )dictr   r   r   s    r   _varszCredential._vars   s    T]T]CCCCr   Nr   r   r   r   )	__name__
__module____qualname____doc__abcabstractpropertyr   r   r   r
   r   r   r   r      sh        ..""" """" "D D D D D Dr   r   )	metaclassc                  J    e Zd ZdZd
dZedd            Zedd            Zd	S )SimpleCredentialz!Simple credentials implementationr   r   r   c                "    || _         || _        d S r	   )	_username	_password)r   r   r   s      r   __init__zSimpleCredential.__init__   s    !!r   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   )r   r   r   r   r%   propertyr   r   r
   r   r   r!   r!      sn        ++" " " "    X    X  r   r!   c                  6    e Zd Zd	dZed
d            ZddZdS )AnonymousCredentialr   r   c                    || _         d S r	   r)   )r   r   s     r   r%   zAnonymousCredential.__init__%   s    !r   r   c                     t          d          )Nz$Anonymous credential has no username)
ValueErrorr   s    r   r   zAnonymousCredential.username(   s    ?@@@r   r   c                ,    t          | j                  S )N)r   )r   r   r   s    r   r   zAnonymousCredential._vars,   s    T]++++r   N)r   r   r   r   )r   r   r   r%   r*   r   r   r
   r   r   r,   r,   $   s`        " " " " A A A XA, , , , , ,r   r,   c                  Z    e Zd ZdZddZdd
ZddZedd            Zed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
    user_env_varr   pwd_env_varc                "    || _         || _        d S r	   )r3   r4   )r   r3   r4   s      r   r%   zEnvironCredential.__init__A   s    (&r   otherobjectr   boolc                B    t          |           t          |          k    S r	   )vars)r   r6   s     r   __eq__zEnvironCredential.__eq__E   s    DzzT%[[((r   env_varc                l    t           j                            |          }|st          d|           |S )z&Helper to read an environment variablezMissing environment variable:)osenvirongetr/   )r   r<   values      r   _get_envzEnvironCredential._get_envH   s:    
w'' 	HFWFFGGGr   c                6    |                      | j                  S r	   )rB   r3   r   s    r   r   zEnvironCredential.usernameO   s    }}T.///r   c                6    |                      | j                  S r	   )rB   r4   r   s    r   r   zEnvironCredential.passwordS   s    }}T-...r   N)r3   r   r4   r   )r6   r7   r   r8   )r<   r   r   r   r   )
r   r   r   r   r%   r;   rB   r*   r   r   r
   r   r   r2   r2   0   s          ' ' ' ') ) ) )    0 0 0 X0 / / / X/ / /r   r2   )	
__future__r   r   r>   ABCMetar   r!   r,   r2   r
   r   r   <module>rG      s    " " " " " " 



 				
D 
D 
D 
D 
D3; 
D 
D 
D 
D    z    	, 	, 	, 	, 	,* 	, 	, 	,%/ %/ %/ %/ %/
 %/ %/ %/ %/ %/r   