import json from logging import getLogger from pathlib import Path logger = getLogger(__name__) BASE_DIR = Path("/var/imunify360") PERSISTENT_STATE_DIR = BASE_DIR / ".persistent_state" def save_state(class_name: str, values: dict): """Save state to a file in .persistent_state folder.""" folder_path = PERSISTENT_STATE_DIR try: folder_path.mkdir(parents=True, exist_ok=True) file_path = folder_path / f"{class_name}.state" json.dump(values, file_path.open("w")) except (AttributeError, OSError) as e: logger.error("Failed to save state: %s %s", class_name, e) def load_state(class_name) -> dict: """Load state from a file in .persistent_state folder.""" folder_path = PERSISTENT_STATE_DIR file_path = folder_path / f"{class_name}.state" if file_path.exists(): try: return json.load(file_path.open("r")) except (json.JSONDecodeError, OSError, UnicodeDecodeError) as e: logger.error("Failed to load state: %s %s", class_name, e) return dict()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
features | Folder | 0755 |
|
|
panels | Folder | 0755 |
|
|
__init__.py | File | 0 B | 0644 |
|
backup_systems.py | File | 11.19 KB | 0644 |
|
notifier.py | File | 1.82 KB | 0644 |
|
persistent_state.py | File | 1.03 KB | 0644 |
|
svcctl.py | File | 7.96 KB | 0644 |
|
sysctl.py | File | 379 B | 0644 |
|
systemd_notifier.py | File | 1.58 KB | 0644 |
|
web_server.py | File | 21.04 KB | 0644 |
|