File: fail.py

package info (click to toggle)
python-keyring 25.6.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 560 kB
  • sloc: python: 1,929; sh: 17; makefile: 17
file content (30 lines) | stat: -rw-r--r-- 914 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from ..backend import KeyringBackend
from ..compat import properties
from ..errors import NoKeyringError


class Keyring(KeyringBackend):
    """
    Keyring that raises error on every operation.

    >>> kr = Keyring()
    >>> kr.get_password('svc', 'user')
    Traceback (most recent call last):
    ...
    keyring.errors.NoKeyringError: ...No recommended backend...
    """

    @properties.classproperty
    def priority(cls) -> float:
        return 0

    def get_password(self, service, username, password=None):
        msg = (
            "No recommended backend was available. Install a recommended 3rd "
            "party backend package; or, install the keyrings.alt package if "
            "you want to use the non-recommended backends. See "
            "https://pypi.org/project/keyring for details."
        )
        raise NoKeyringError(msg)

    set_password = delete_password = get_password