Beispiel #1
0
 def init_keyring(self):
     print("Testing SecretServiceKeyring; the following "
           "password prompts are for this keyring")
     keyring = SecretService.Keyring()
     keyring.preferred_collection = (
         '/org/freedesktop/secrets/collection/session')
     return keyring
Beispiel #2
0
 def configureKeyring(self):
     """
     Sets the propper keyring backend for the used OS. This isn't
     automatically detected correctly with Nuitka
     """
     if self.osType.usingWindows:
         from keyring.backends import Windows
         keyring.set_keyring(Windows.WinVaultKeyring())
     elif self.osType.usingMac:
         from keyring.backends import OS_X
         keyring.set_keyring(OS_X.Keyring())
     else:
         from keyring.backends import SecretService
         keyring.set_keyring(SecretService.Keyring())
 def init_keyring(self):
     print("Testing SecretServiceKeyring; the following "
         "password prompts are for this keyring")
     return SecretService.Keyring()
Beispiel #4
0
For Linux not every system has SecretService available, so it will
fall back to a simple database keystore if needed.
"""
if sys.platform == 'darwin':
    # from keyring.backends import OS_X
    # keyring.set_keyring(OS_X.Keyring())
    from vorta.keyring_darwin import VortaDarwinKeyring
    keyring.set_keyring(VortaDarwinKeyring())
elif sys.platform == 'win32':
    from keyring.backends import Windows
    keyring.set_keyring(Windows.WinVaultKeyring())
elif sys.platform == 'linux':
    from keyring.backends import SecretService
    try:
        SecretService.Keyring.priority()  # Test if keyring works.
        keyring.set_keyring(SecretService.Keyring())
    except Exception:
        keyring.set_keyring(VortaDBKeyring())
else:  # Fall back to saving password to database.
    keyring.set_keyring(VortaDBKeyring())


def nested_dict():
    """
    Combination of two idioms to quickly build dicts from lists of keys:

    - https://stackoverflow.com/a/16724937/3983708
    - https://stackoverflow.com/a/14692747/3983708
    """
    return defaultdict(nested_dict)
Beispiel #5
0
 def __init__(self):
     from keyring.backends import SecretService
     backend = SecretService.Keyring()
     super().__init__(backend)
     self._ensure_backend_is_working()