| import json | |
| import os | |
| from pathlib import Path | |
| from scripts.lib.lobe_log import LobeLog | |
| EXTENSION_FOLDER = Path(__file__).parent.parent.parent | |
| PACKAGE_FILENAME = Path(EXTENSION_FOLDER, "package.json") | |
| LobeLog.debug(f"EXTENSION_FOLDER: {EXTENSION_FOLDER}") | |
| LobeLog.debug(f"PACKAGE_FILENAME: {PACKAGE_FILENAME}") | |
| class LobePackage: | |
| def __init__(self): | |
| self.package_file = PACKAGE_FILENAME | |
| self.package = None | |
| self.load_package() | |
| def load_package(self): | |
| if os.path.exists(self.package_file): | |
| LobeLog.debug(f"Loading package from package.json") | |
| with open(self.package_file, 'r') as f: | |
| self.package = json.load(f) | |
| else: | |
| LobeLog.debug(f"Package file not found") | |
| self.package = {"error": "Package file not found"} | |
| def is_empty(self): | |
| return "empty" in self.package and self.package['empty'] | |
| def json(self): | |
| return json.dumps(self.package) | |
| def default(): | |
| # default package is handled from client side @see src/store/index.tsx | |
| return {'empty': True} | |