diff --git a/src/log_registry.py b/src/log_registry.py index 133d7758..2bf5344b 100644 --- a/src/log_registry.py +++ b/src/log_registry.py @@ -46,6 +46,8 @@ import tomllib from datetime import datetime from typing import Any +from src.result_types import Result, ErrorInfo, ErrorKind + class LogRegistry: """ @@ -98,7 +100,7 @@ class LogRegistry: else: self.data = {} - def save_registry(self) -> None: + def save_registry(self) -> Result[bool]: """ Serializes and saves the current registry data to the TOML file. Converts internal datetime objects to ISO format strings for compatibility. @@ -129,8 +131,9 @@ class LogRegistry: data_to_save[session_id] = session_data_copy with open(self.registry_path, 'wb') as f: tomli_w.dump(data_to_save, f) - except Exception as e: - print(f"Error saving registry to {self.registry_path}: {e}") + return Result(data=True) + except OSError as e: + return Result(data=False, errors=[ErrorInfo(kind=ErrorKind.INTERNAL, message=str(e), source="log_registry.save_registry", original=e)]) def register_session(self, session_id: str, path: str, start_time: datetime | str) -> None: """ @@ -241,9 +244,9 @@ class LogRegistry: for kw in keywords_to_check: if kw in line and kw not in found_keywords: found_keywords.append(kw) - except Exception: + except OSError: pass - except Exception: + except OSError: pass size_kb = total_size_bytes / 1024 whitelisted = False