Enhance entry deletion process: ensure immediate file save after deletion and restore entry on save failure for improved reliability.
This commit is contained in:
		
							parent
							
								
									6107b43ac5
								
							
						
					
					
						commit
						89df22f4e3
					
				
					 1 changed files with 10 additions and 1 deletions
				
			
		| 
						 | 
					@ -331,7 +331,16 @@ class HostsManager:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Remove the entry
 | 
					            # Remove the entry
 | 
				
			||||||
            deleted_entry = hosts_file.entries.pop(index)
 | 
					            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:
 | 
					        except Exception as e:
 | 
				
			||||||
            return False, f"Error deleting entry: {e}"
 | 
					            return False, f"Error deleting entry: {e}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue