Private
Public Access
0
0
Files
manual_slop/src/context_presets.py
T

29 lines
1.2 KiB
Python

from typing import Dict, Any
from src.models import ContextPreset
class ContextPresetManager:
"""Manages context presets within the project dictionary (manual_slop.toml)."""
def load_all(self, project_dict: Dict[str, Any]) -> Dict[str, ContextPreset]:
"""Loads all context presets from the project dictionary."""
presets: Dict[str, ContextPreset] = {}
presets_data = project_dict.get("context_presets", {})
for name, data in presets_data.items():
try:
presets[name] = ContextPreset.from_dict(name, data)
except Exception:
# Silent failure or logging could be added here
pass
return presets
def save_preset(self, project_dict: Dict[str, Any], preset: ContextPreset) -> None:
"""Saves a context preset into the project dictionary."""
if "context_presets" not in project_dict:
project_dict["context_presets"] = {}
project_dict["context_presets"][preset.name] = preset.to_dict()
def delete_preset(self, project_dict: Dict[str, Any], name: str) -> None:
"""Deletes a context preset from the project dictionary."""
if "context_presets" in project_dict and name in project_dict["context_presets"]:
del project_dict["context_presets"][name]