31 lines
804 B
Python
31 lines
804 B
Python
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 |