Spaces:
Runtime error
Runtime error
| import json | |
| from abc import ABC, abstractmethod | |
| from typing import Any | |
| from pathlib import Path | |
| class Serializer(ABC): | |
| def dump(self, obj: Any, save_path: Path) -> None: | |
| pass | |
| def load(self, load_path: Path) -> Any: | |
| pass | |
| class JsonSerializer(Serializer): | |
| def __init__(self, | |
| sort_keys: bool = True, | |
| indent: int = 4): | |
| self.sort_keys = sort_keys | |
| self.indent = indent | |
| def dump(self, obj: Any, save_path: Path) -> None: | |
| with open(save_path, "w") as file: | |
| json.dump(obj, file, sort_keys=self.sort_keys, indent=self.indent) | |
| def load(self, load_path: Path) -> Any: | |
| with open(load_path, "r") as file: | |
| return json.load(file) |