test: cleanup

This commit is contained in:
Piotr Dec 2025-11-25 01:22:08 +01:00
parent 082ab463c1
commit 227d8107aa
Signed by: stawros
GPG key ID: 74B18A3F0F1E99C0
4 changed files with 48 additions and 31 deletions

View file

@ -6,6 +6,30 @@ import keyring
from injectable import injectable
from pykeepass import PyKeePass, create_database
class KeyRequest:
def __init__(self, prompt: str):
self.field_name = None
self.entry_name = None
self.path = None
self._parse_prompt(prompt)
def _parse_prompt(self, prompt: str):
pass
# k_parts = k.split("/")
# field_name = None
# match len(k_parts):
# case 1:
# field_name = 'password'
# case 2:
# field_name = k_parts[1]
# k = k_parts[0]
# case _:
# output[k] = None
# continue
# key_parts = k.split(".")
# path = key_parts[:-1] if len(key_parts) > 2 else None
# entry_name = key_parts[-1]
@injectable(singleton=True)
class Passwords:
@ -28,13 +52,10 @@ class Passwords:
def get_values(self, keys: list[str]) -> dict[str, str]:
output = {}
for k in keys:
key_parts = k.split(".")
path = key_parts[:-1] if len(key_parts) > 2 else None
entry_name = key_parts[-2]
field_name = key_parts[-1]
request = KeyRequest(k)
with self.open() as kp:
kp_entry = kp.find_entries(path=path, first=True, title=entry_name)
output[k] = self._get_field_value(kp_entry, field_name)
kp_entry = kp.find_entries(path=request.path, first=True, title=request.entry_name)
output[k] = self._get_field_value(kp_entry, request.field_name)
return output
@staticmethod