def find_password(db_file, repository_name, kdb_password=None): if not kdb_password: kdb_password = getpass.getpass("Password for %s: " % db_file.name) try: with db_file.open("rb") as f: db = Database(f.read(), password=kdb_password.encode("utf8")) except InvalidPasswordError: print("Wrong password for unlocking .kdb file!!") return None, None try: entry = db.find_by_title(repository_name) if entry.group.group_name == "grenier": return kdb_password, entry.password else: print("Could not find kdb entry for grenier/%s!!!" % repository_name) return kdb_password, None except EntryNotFoundError as err: print(err) return kdb_password, None
def find_password(db_file, repository_name, kdb_password=None): if not kdb_password: kdb_password = getpass.getpass("Password for %s: " % db_file.name) try: with db_file.open("rb") as f: db = Database(f.read(), password=kdb_password.encode("utf8")) except InvalidPasswordError: print("Wrong password for unlocking .kdb file!!") return None, None try: entry = db.find_by_title(repository_name) if entry.group.group_name == "grenier": return kdb_password, entry.password else: print("Could not find kdb entry for grenier/%s!!!" % repository_name) return kdb_password, None except EntryNotFoundError as err: print(err) return kdb_password, None
def test_find_entry_by_title(self): db = Database(self.kdb_contents, 'password') entry = db.find_by_title('mytitle') self.assertEqual(entry.title, 'mytitle')
def test_find_entry_by_title_does_not_exist(self): db = Database(self.kdb_contents, 'password') with self.assertRaises(EntryNotFoundError): entry = db.find_by_title('badtitle')
def test_find_entry_by_title(self): db = Database(self.kdb_contents, 'password') entry = db.find_by_title('mytitle') self.assertEqual(entry.title, 'mytitle')
def test_find_entry_by_title_does_not_exist(self): db = Database(self.kdb_contents, 'password') with self.assertRaises(EntryNotFoundError): db.find_by_title('badtitle')