"""Gestionnaire de presets / macros.""" import os import sys import json PRESETS_FILE = os.path.join( os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), ".presets.json" ) def load_presets(): if not os.path.exists(PRESETS_FILE): return {} try: with open(PRESETS_FILE, "r") as f: return json.load(f) except Exception: return {} def save_presets(presets): try: with open(PRESETS_FILE, "w") as f: json.dump(presets, f, indent=2) except Exception: pass def save_preset(name, action_type, settings): presets = load_presets() presets[name] = {"action": action_type, "settings": settings} save_presets(presets) def delete_preset(name): presets = load_presets() presets.pop(name, None) save_presets(presets) def list_presets(): return load_presets()