Пример #1
0
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
Пример #2
0
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
Пример #3
0
 def test_find_entry_by_title(self):
     db = Database(self.kdb_contents, 'password')
     entry = db.find_by_title('mytitle')
     self.assertEqual(entry.title, 'mytitle')
Пример #4
0
 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')
Пример #5
0
 def test_find_entry_by_title(self):
     db = Database(self.kdb_contents, 'password')
     entry = db.find_by_title('mytitle')
     self.assertEqual(entry.title, 'mytitle')
Пример #6
0
 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')