Spaces:
Runtime error
Runtime error
| """Build Mode Editor โ ัะฟัะฐะฒะปะตะฝะธะต ัะตะถะธะผะฐะผะธ ัะฑะพัะบะธ""" | |
| import os | |
| import json | |
| import logging | |
| from datetime import datetime | |
| from typing import Dict | |
| from .config import BUILD_MODES_FILE | |
| class BuildModeEditor: | |
| def __init__(self, state): | |
| self.state = state | |
| self.logger = logging.getLogger(__name__) | |
| def list_modes(self) -> str: | |
| modes = self._load_all_modes() | |
| if not modes: | |
| return ( | |
| "โญโโโโโโโโโโโโโโโโโโโโฎ\n" | |
| " โ ๐๏ธ แดสแดสษชแด แด แดา สแดษชสแด แดแดแด แดs โ\n" | |
| "โฐโโโโโโโโโโโโโโโโโโโโฏ\n\n" | |
| "โ Empty...\n" | |
| "Create your first mode: `/build mode save <name>`" | |
| ) | |
| lines = ["โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ\n โ ๐๏ธ แดสแดสษชแด แด แดา สแดษชสแด แดแดแด แดs โ\nโฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ\n"] | |
| for name, config in modes.items(): | |
| desc = config.get('description', 'No description') | |
| lines.append(f"โธ {name}: {desc[:50]}...") | |
| return "\n".join(lines) | |
| def show_mode(self, mode_name: str) -> str: | |
| modes = self._load_all_modes() | |
| mode = modes.get(mode_name) | |
| if not mode: | |
| return f"โธ โ แดสสแดส\nใ{mode_name}ใ not found in the archive.\nCheck spelling: `/build mode list`" | |
| return ( | |
| f"โญโโโโโโโโโโโโโโโโโโโโฎ\n" | |
| f" โ ๐ {mode_name.upper()} แดแดแด แด โ\n" | |
| "โโโโโโโโโโโโโโโโโโโโโค\n" | |
| f"```json\n{json.dumps(mode, ensure_ascii=False, indent=2)}\n```" | |
| ) | |
| def save_mode(self, mode_name: str, config: Dict = None) -> str: | |
| modes = self._load_all_modes() | |
| if config is None: | |
| config = dict(self.state.build_context) | |
| config["description"] = f"Mode created {datetime.now().isoformat()}" | |
| modes[mode_name] = config | |
| try: | |
| with open(BUILD_MODES_FILE, "w", encoding="utf-8") as f: | |
| json.dump(modes, f, ensure_ascii=False, indent=2) | |
| return f"โธ โ แด ษชแด sแดแด แด\nใ{mode_name}ใ saved to archive.\nLoad it anytime: `/build mode load {mode_name}`" | |
| except Exception as e: | |
| self.logger.error(f"Failed to save mode {mode_name}: {e}") | |
| return f"โธ โ ๏ธ แดสสแดส\nใ{mode_name}ใ save failed: {str(e)[:100]}..." | |
| def load_mode(self, mode_name: str) -> str: | |
| modes = self._load_all_modes() | |
| mode = modes.get(mode_name) | |
| if not mode: | |
| return f"โธ โ แดสสแดส\nใ{mode_name}ใ not found in the archive." | |
| self.state.build_context.update(mode) | |
| return f"โธ โ แดแดแด แด สแดแดแด แดแด \nใ{mode_name}ใ activated." | |
| def delete_mode(self, mode_name: str) -> str: | |
| modes = self._load_all_modes() | |
| if mode_name not in modes: | |
| return f"โธ โ แดสสแดส\nใ{mode_name}ใ not found. Nothing to delete." | |
| del modes[mode_name] | |
| try: | |
| with open(BUILD_MODES_FILE, "w", encoding="utf-8") as f: | |
| json.dump(modes, f, ensure_ascii=False, indent=2) | |
| return f"โธ โข๏ธ แด แดสแดแดแดแด \nใ{mode_name}ใ removed from archive." | |
| except Exception as e: | |
| self.logger.error(f"Failed to delete mode {mode_name}: {e}") | |
| return f"โธ โ ๏ธ แดสสแดส\nใ{mode_name}ใ deletion failed: {str(e)[:100]}..." | |
| def _load_all_modes(self) -> Dict: | |
| if not os.path.exists(BUILD_MODES_FILE): | |
| return {} | |
| try: | |
| with open(BUILD_MODES_FILE, "r", encoding="utf-8") as f: | |
| return json.load(f) | |
| except Exception as e: | |
| self.logger.error(f"Failed to load build modes: {e}") | |
| return {} | |