Download sd-webui-lobe-theme/scripts/lib/api.py from imspidey/ThemeSD: direct link, hf CLI and curl.
- Browser
- Download file 2.3 kB
-
https://huggingface.co/imspidey/ThemeSD/resolve/main/sd-webui-lobe-theme/scripts/lib/api.py
- Command line
-
hf download hf://imspidey/ThemeSD/sd-webui-lobe-theme/scripts/lib/api.py
-
curl -L -o api.py https://huggingface.co/imspidey/ThemeSD/resolve/main/sd-webui-lobe-theme/scripts/lib/api.py
2.3 kB
| import json | |
| from pathlib import Path | |
| from fastapi import FastAPI, Response, Request | |
| from scripts.lib.config import LobeConfig | |
| from scripts.lib.package import LobePackage | |
| from scripts.lib.locale import LobeLocale | |
| from scripts.lib.lobe_log import LobeLog | |
| class LobeApi: | |
| def __init__(self, config: LobeConfig, package: LobePackage, locale: LobeLocale): | |
| self.package = package | |
| self.config = config | |
| self.locale = locale | |
| pass | |
| def create_api_route(self, app: FastAPI): | |
| async def lobe_package_get(): | |
| LobeLog.debug("lobe_package_get") | |
| if self.package.is_empty(): | |
| return Response(content=self.package.json(), media_type="application/json", status_code=404) | |
| return Response(content=self.package.json(), media_type="application/json", status_code=200) | |
| async def lobe_locale_get(lng: str): | |
| LobeLog.debug(f"lobe_locale_get: {lng}") | |
| language_data = self.locale.get_language_file(lng) | |
| return Response(content=json.dumps(language_data), media_type="application/json", status_code=200) | |
| async def lobe_config_get(): | |
| LobeLog.debug("lobe_config_get") | |
| if self.config.is_empty(): | |
| return Response(content=self.config.json(), media_type="application/json", status_code=404) | |
| return Response(content=self.config.json(), media_type="application/json", status_code=200) | |
| async def lobe_config_save(request: Request): | |
| LobeLog.debug("lobe_config_save") | |
| data = await request.json() | |
| self.config.save(data) | |
| return Response( | |
| content=json.dumps({"message": "Config saved successfully"}), | |
| media_type="application/json", status_code=200 | |
| ) | |
| async def lobe_config_delete(): | |
| LobeLog.debug("lobe_config_delete") | |
| self.config.delete() | |
| return Response( | |
| content=json.dumps({"message": "Config deleted successfully"}), | |
| media_type="application/json", status_code=200 | |
| ) | |