From 89df22f4e34cf9232d500342a11bde87c4ee049b Mon Sep 17 00:00:00 2001 From: phg Date: Sat, 16 Aug 2025 22:44:47 +0200 Subject: [PATCH] Enhance entry deletion process: ensure immediate file save after deletion and restore entry on save failure for improved reliability. --- src/hosts/core/manager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/hosts/core/manager.py b/src/hosts/core/manager.py index 5bbd280..9e49fc5 100644 --- a/src/hosts/core/manager.py +++ b/src/hosts/core/manager.py @@ -331,7 +331,16 @@ class HostsManager: # Remove the entry deleted_entry = hosts_file.entries.pop(index) - return True, f"Entry deleted: {deleted_entry.canonical_hostname}" + canonical_hostname = deleted_entry.hostnames[0] if deleted_entry.hostnames else deleted_entry.ip_address + + # Save the file immediately + save_success, save_message = self.save_hosts_file(hosts_file) + if not save_success: + # If save fails, restore the entry + hosts_file.entries.insert(index, deleted_entry) + return False, f"Failed to save after deletion: {save_message}" + + return True, f"Entry deleted: {canonical_hostname}" except Exception as e: return False, f"Error deleting entry: {e}"