import json import os def read_json_file(file_path: str) -> dict: """Reads and parses a JSON file. Args: file_path (str): Path to the JSON file Returns: dict: Parsed JSON data or None if there was an error """ try: with open(file_path, "r", encoding="utf-8") as f: return json.load(f) except FileNotFoundError: print(f"Error: File not found at {file_path}") return None except json.JSONDecodeError: print(f"Error: Invalid JSON format in file at {file_path}") return None def write_json_file(file_path: str, data: dict, indent: int = 4) -> bool: """Writes data to a JSON file. Args: file_path (str): Path to save the JSON file data (dict): Data to write indent (int): Indentation level for pretty printing Returns: bool: True if successful, False otherwise """ try: with open(file_path, "w", encoding="utf-8") as f: json.dump(data, f, indent=indent, ensure_ascii=False) return True except Exception as e: print(f"Error writing to file {file_path}: {str(e)}") return False def ensure_directory(directory_path: str) -> bool: """Ensures a directory exists, creates it if it doesn't. Args: directory_path (str): Path to the directory Returns: bool: True if directory exists or was created successfully """ try: os.makedirs(directory_path, exist_ok=True) return True except Exception as e: print(f"Error creating directory {directory_path}: {str(e)}") return False