| import json |
| import os |
| from pathlib import Path |
|
|
| from scripts.lib.lobe_log import LobeLog |
|
|
| EXTENSION_FOLDER = Path(__file__).parent.parent.parent |
| CONFIG_FILENAME = Path(EXTENSION_FOLDER, "lobe_theme_config.json") |
|
|
|
|
| LobeLog.debug(f"EXTENSION_FOLDER: {EXTENSION_FOLDER}") |
| LobeLog.debug(f"CONFIG_FILENAME: {CONFIG_FILENAME}") |
|
|
|
|
| class LobeConfig: |
| def __init__(self): |
| self.config_file = CONFIG_FILENAME |
| self.config = None |
| self.load_config() |
|
|
| def load_config(self): |
| if os.path.exists(self.config_file): |
| LobeLog.debug(f"Loading config from {self.config_file}") |
|
|
| with open(self.config_file, 'r') as f: |
| self.config = json.load(f) |
| else: |
| LobeLog.debug(f"Config file not found") |
| self.config = LobeConfig.default() |
|
|
| def is_empty(self): |
| return "empty" in self.config and self.config['empty'] |
|
|
| def json(self): |
| return json.dumps(self.config) |
|
|
| def delete(self): |
| if os.path.exists(self.config_file): |
| os.remove(self.config_file) |
| self.config = LobeConfig.default() |
| return True |
|
|
| return False |
|
|
| def save(self, settings): |
| self.config = settings |
| with open(self.config_file, 'w') as f: |
| f.write(json.dumps(self.config, indent=2)) |
| f.close() |
|
|
| @staticmethod |
| def default(): |
| |
| return {'empty': True} |
|
|