import tomllib from pathlib import Path import logging def read_toml_file(file_path: str) -> dict: try: with open(file_path, "rb") as file: return tomllib.load(file) except FileNotFoundError: logging.error(f"File {file_path} not found.") return {} except tomllib.TOMLDecodeError as e: logging.error(f"Error parsing {file_path}: {e}") return {} def write_toml_file(file_path: str, data: dict) -> None: with open(file_path, "w") as file: toml.dump(data, file) def create_backup(file_path: str) -> str: config_path = Path(file_path) backup_dir = config_path.parent / "backups" backup_dir.mkdir(exist_ok=True) timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") backup_file = backup_dir / f"{config_path.stem}_{timestamp}.toml" shutil.copy2(file_path, backup_file) logging.info(f"Backup created: {backup_file}") return backup_file