File: //usr/lib/python3/dist-packages/keyring/__pycache__/credentials.cpython-38.pyc
U
ܦ�\] � @ s\ d dl Z d dlZddlmZ eZeej�G dd� d��ZG dd� de�ZG dd � d e�Z dS )
� N� )�
add_metaclassc @ s, e Zd ZdZejdd� �Zejdd� �ZdS )�
Credentialz)Abstract class to manage credentials
c C s d S �N� ��selfr r �5/usr/lib/python3/dist-packages/keyring/credentials.py�username s zCredential.usernamec C s d S r r r r r r �password s zCredential.passwordN)�__name__�
__module__�__qualname__�__doc__�abc�abstractpropertyr
r r r r r r s
r c @ s0 e Zd ZdZdd� Zedd� �Zedd� �ZdS ) �SimpleCredentialz&Simple credentials implementation
c C s || _ || _d S r )� _username� _password)r r
r r r r �__init__ s zSimpleCredential.__init__c C s | j S r )r r r r r r
s zSimpleCredential.usernamec C s | j S r )r r r r r r # s zSimpleCredential.passwordN)r r
r r r �propertyr
r r r r r r s
r c @ s8 e Zd ZdZdd� Zdd� Zedd� �Zedd � �Zd
S )�EnvironCredentialzgSource credentials from environment variables.
Actual sourcing is deferred until requested.
c C s || _ || _d S r )�user_env_var�pwd_env_var)r r r r r r r - s zEnvironCredential.__init__c C s t j�|�}|std| ��|S )z/Helper to read an environment variable
zMissing environment variable:%s)�os�environ�get�
ValueError)r Zenv_var�valuer r r �_get_env1 s zEnvironCredential._get_envc C s | � | j�S r )r r r r r r r
9 s zEnvironCredential.usernamec C s | � | j�S r )r r r r r r r = s zEnvironCredential.passwordN) r r
r r r r r r
r r r r r r ( s
r )
r r Z
py27compatr �typeZ
__metaclass__�ABCMetar r r r r r r �<module> s