diff --git a/src/password_manager/entry_management.py b/src/password_manager/entry_management.py index 1a657cc..80acb09 100644 --- a/src/password_manager/entry_management.py +++ b/src/password_manager/entry_management.py @@ -521,7 +521,7 @@ class EntryManager: :param url: (Optional) The new URL (password entries). :param blacklisted: (Optional) The new blacklist status. :param notes: (Optional) New notes to attach to the entry. - :param label: (Optional) The new label for TOTP entries. + :param label: (Optional) The new label for the entry. :param period: (Optional) The new TOTP period in seconds. :param digits: (Optional) The new number of digits for TOTP codes. """ @@ -554,6 +554,9 @@ class EntryManager: entry["digits"] = digits logger.debug(f"Updated digits to '{digits}' for index {index}.") else: + if label is not None: + entry["label"] = label + logger.debug(f"Updated label to '{label}' for index {index}.") if username is not None: entry["username"] = username logger.debug(f"Updated username to '{username}' for index {index}.") diff --git a/src/password_manager/manager.py b/src/password_manager/manager.py index 3868068..1d87d5b 100644 --- a/src/password_manager/manager.py +++ b/src/password_manager/manager.py @@ -1665,7 +1665,7 @@ class PasswordManager: custom_fields=custom_fields, ) else: - website_name = entry.get("website") + website_name = entry.get("label", entry.get("website")) username = entry.get("username") url = entry.get("url") blacklisted = entry.get("blacklisted") @@ -1677,6 +1677,7 @@ class PasswordManager: "cyan", ) ) + print(colored(f"Current Label: {website_name}", "cyan")) print(colored(f"Current Username: {username or 'N/A'}", "cyan")) print(colored(f"Current URL: {url or 'N/A'}", "cyan")) print( @@ -1686,6 +1687,13 @@ class PasswordManager: ) ) + new_label = ( + input( + f'Enter new label (leave blank to keep "{website_name}"): ' + ).strip() + or website_name + ) + new_username = ( input( f'Enter new username (leave blank to keep "{username or "N/A"}"): ' @@ -1747,6 +1755,7 @@ class PasswordManager: new_url, new_blacklisted, new_notes, + label=new_label, custom_fields=custom_fields, ) diff --git a/src/password_manager/password_generation.py b/src/password_manager/password_generation.py index 8d95e0d..a5a3f91 100644 --- a/src/password_manager/password_generation.py +++ b/src/password_manager/password_generation.py @@ -469,5 +469,6 @@ def derive_pgp_key( hashes=[HashAlgorithm.SHA256], ciphers=[SymmetricKeyAlgorithm.AES256], compression=[CompressionAlgorithm.ZLIB], + created=created, ) return str(key), key.fingerprint diff --git a/src/tests/test_manager_workflow.py b/src/tests/test_manager_workflow.py index 3a1a59e..dac3a2e 100644 --- a/src/tests/test_manager_workflow.py +++ b/src/tests/test_manager_workflow.py @@ -57,6 +57,7 @@ def test_manager_workflow(monkeypatch): "", # length (default) "0", # retrieve index "0", # modify index + "", # new label "user", # new username "", # new url "", # blacklist status