File size: 804 Bytes
29a5ed9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | from fastapi import FastAPI, Body, HTTPException, Request, Response
from fastapi.responses import FileResponse
import gradio as gr
import modules.shared as shared
import modules.script_callbacks as script_callbacks
class StateApi():
BASE_PATH = '/state'
def get_path(self, path):
return f"{self.BASE_PATH}{path}"
def add_api_route(self, path: str, endpoint, **kwargs):
return self.app.add_api_route(self.get_path(path), endpoint, **kwargs)
def start(self, _: gr.Blocks, app: FastAPI):
self.app = app
self.add_api_route('/config.json', self.get_config, methods=['GET'])
def get_config(self):
return FileResponse(shared.cmd_opts.ui_settings_file)
try:
api = StateApi()
script_callbacks.on_app_started(api.start)
except:
pass |