Ejemplo n.º 1
0
class KeyringProxy(object):
    def __init__(self, path, keyring_encrypted=False, enable_prompt=True, random_on_empty=True):
        self.keyring_encrypted = keyring_encrypted
        if self.keyring_encrypted and not path.endswith(".crypt"):
            path = "%s.crypt" % (path)
        self.path = path
        if keyring_encrypted:
            self.ring = FixedCryptedFileKeyring()
        else:
            self.ring = UncryptedFileKeyring()
        self.ring.file_path = path
        self.enable_prompt = enable_prompt
        self.random_on_empty = random_on_empty

    def read(self, name, prompt):
        pw_val = self.ring.get_password(name, PW_USER)
        if pw_val:
            return (True, pw_val)
        pw_val = ''
        if self.enable_prompt and prompt:
            pw_val = InputPassword().get_password(name, prompt)
        if self.random_on_empty and len(pw_val) == 0:
            pw_val = RandomPassword().get_password(name, RAND_PW_LEN)
        return (False, pw_val)
    
    def save(self, name, password):
        self.ring.set_password(name, PW_USER, password)

    def __str__(self):
        prefix = 'encrypted'
        if not self.keyring_encrypted:
            prefix = "un" + prefix
        return '%s keyring @ %s' % (prefix, self.path)
Ejemplo n.º 2
0
class KeyringProxy(object):
    def __init__(self, path, keyring_encrypted=False, enable_prompt=True, random_on_empty=True):
        self.keyring_encrypted = keyring_encrypted
        if self.keyring_encrypted and not path.endswith(".crypt"):
            path = "%s.crypt" % (path)
        self.path = path
        if keyring_encrypted:
            self.ring = FixedCryptedFileKeyring()
        else:
            self.ring = UncryptedFileKeyring()
        self.ring.file_path = path
        self.enable_prompt = enable_prompt
        self.random_on_empty = random_on_empty

    def read(self, name, prompt):
        pw_val = self.ring.get_password(name, PW_USER)
        if pw_val:
            return (True, pw_val)
        pw_val = ''
        if self.enable_prompt and prompt:
            pw_val = InputPassword().get_password(name, prompt)
        if self.random_on_empty and len(pw_val) == 0:
            pw_val = RandomPassword().get_password(name, RAND_PW_LEN)
        return (False, pw_val)
    
    def save(self, name, password):
        self.ring.set_password(name, PW_USER, password)

    def __str__(self):
        prefix = 'encrypted'
        if not self.keyring_encrypted:
            prefix = "un" + prefix
        return '%s keyring @ %s' % (prefix, self.path)
Ejemplo n.º 3
0
 def __init__(self, path, keyring_encrypted=False, enable_prompt=True, random_on_empty=True):
     self.keyring_encrypted = keyring_encrypted
     if self.keyring_encrypted and not path.endswith(".crypt"):
         path = "%s.crypt" % (path)
     self.path = path
     if keyring_encrypted:
         self.ring = FixedCryptedFileKeyring()
     else:
         self.ring = UncryptedFileKeyring()
     self.ring.file_path = path
     self.enable_prompt = enable_prompt
     self.random_on_empty = random_on_empty
Ejemplo n.º 4
0
 def __init__(self, path, keyring_encrypted=False, enable_prompt=True, random_on_empty=True):
     self.keyring_encrypted = keyring_encrypted
     if self.keyring_encrypted and not path.endswith(".crypt"):
         path = "%s.crypt" % (path)
     self.path = path
     if keyring_encrypted:
         self.ring = FixedCryptedFileKeyring()
     else:
         self.ring = UncryptedFileKeyring()
     self.ring.file_path = path
     self.enable_prompt = enable_prompt
     self.random_on_empty = random_on_empty