From 95adfb45d96b5f61f9785749dd8a583e723bcf5e Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Mon, 30 Jun 2025 12:14:05 -0400 Subject: [PATCH] Remove embedded demos --- examples/entry_management_demo.py | 27 +++++++++++++ examples/password_manager_demo.py | 13 +++++++ src/password_manager/entry_management.py | 49 ------------------------ src/password_manager/manager.py | 23 ----------- 4 files changed, 40 insertions(+), 72 deletions(-) create mode 100644 examples/entry_management_demo.py create mode 100644 examples/password_manager_demo.py diff --git a/examples/entry_management_demo.py b/examples/entry_management_demo.py new file mode 100644 index 0000000..cebfeae --- /dev/null +++ b/examples/entry_management_demo.py @@ -0,0 +1,27 @@ +from pathlib import Path +from cryptography.fernet import Fernet + +from password_manager.encryption import EncryptionManager +from password_manager.vault import Vault +from password_manager.entry_management import EntryManager + + +def main() -> None: + """Demonstrate basic EntryManager usage.""" + key = Fernet.generate_key() + enc = EncryptionManager(key, Path(".")) + vault = Vault(enc, Path(".")) + manager = EntryManager(vault, Path(".")) + + index = manager.add_entry( + "Example Website", + 16, + username="user123", + url="https://example.com", + ) + print(manager.retrieve_entry(index)) + manager.list_all_entries() + + +if __name__ == "__main__": + main() diff --git a/examples/password_manager_demo.py b/examples/password_manager_demo.py new file mode 100644 index 0000000..7796191 --- /dev/null +++ b/examples/password_manager_demo.py @@ -0,0 +1,13 @@ +from password_manager.manager import PasswordManager +from nostr.client import NostrClient + + +def main() -> None: + """Show how to initialise PasswordManager with Nostr support.""" + manager = PasswordManager() + manager.nostr_client = NostrClient(encryption_manager=manager.encryption_manager) + # Sample actions could be called on ``manager`` here. + + +if __name__ == "__main__": + main() diff --git a/src/password_manager/entry_management.py b/src/password_manager/entry_management.py index d85597d..598b3a0 100644 --- a/src/password_manager/entry_management.py +++ b/src/password_manager/entry_management.py @@ -454,52 +454,3 @@ class EntryManager: logger.error(traceback.format_exc()) # Log full traceback print(colored(f"Error: Failed to list all entries: {e}", "red")) return - - -# Example usage (this part should be removed or commented out when integrating into the larger application) -if __name__ == "__main__": - from password_manager.encryption import EncryptionManager - from password_manager.vault import Vault - - # Initialize EncryptionManager with a dummy key for demonstration purposes - # Replace 'your-fernet-key' with your actual Fernet key - try: - dummy_key = Fernet.generate_key() - encryption_manager = EncryptionManager(dummy_key, Path(".")) - vault = Vault(encryption_manager, Path(".")) - except Exception as e: - logger.error(f"Failed to initialize EncryptionManager: {e}") - print(colored(f"Error: Failed to initialize EncryptionManager: {e}", "red")) - sys.exit(1) - - # Initialize EntryManager - try: - entry_manager = EntryManager(vault, Path(".")) - except Exception as e: - logger.error(f"Failed to initialize EntryManager: {e}") - print(colored(f"Error: Failed to initialize EntryManager: {e}", "red")) - sys.exit(1) - - # Example operations - # These would typically be triggered by user interactions, e.g., via a CLI menu - # Uncomment and modify the following lines as needed for testing - - # Adding an entry - # entry_manager.add_entry("Example Website", 16, "user123", "https://example.com", False) - - # Listing all entries - # entry_manager.list_all_entries() - - # Retrieving an entry - # entry = entry_manager.retrieve_entry(0) - # if entry: - # print(entry) - - # Modifying an entry - # entry_manager.modify_entry(0, username="new_user123") - - # Deleting an entry - # entry_manager.delete_entry(0) - - # Restoring from a backup - # entry_manager.restore_from_backup("path_to_backup_file.json.enc") diff --git a/src/password_manager/manager.py b/src/password_manager/manager.py index e6d3c4d..98a657c 100644 --- a/src/password_manager/manager.py +++ b/src/password_manager/manager.py @@ -1325,26 +1325,3 @@ class PasswordManager: logging.error(f"Failed to change password: {e}") logging.error(traceback.format_exc()) print(colored(f"Error: Failed to change password: {e}", "red")) - - -# Example usage (this part should be removed or commented out when integrating into the larger application) -if __name__ == "__main__": - from nostr.client import ( - NostrClient, - ) # Ensure this import is correct based on your project structure - - # Initialize PasswordManager - manager = PasswordManager() - - # Initialize NostrClient with the EncryptionManager from PasswordManager - manager.nostr_client = NostrClient(encryption_manager=manager.encryption_manager) - - # Example operations - # These would typically be triggered by user interactions, e.g., via a CLI menu - # manager.handle_add_password() - # manager.handle_retrieve_entry() - # manager.handle_modify_entry() - # manager.handle_verify_checksum() - # manager.nostr_client.publish_and_subscribe("Sample password data") - # manager.backup_database() - # manager.restore_database()