core.py 864 B

1234567891011121314151617181920212223242526272829303132
  1. import asyncio
  2. import pathlib
  3. import fastapi
  4. import fastapi.responses
  5. import fastapi.staticfiles
  6. from assets.application import application
  7. from assets.settings import settings
  8. core_directory = pathlib.Path(__file__).parent
  9. app_directory = core_directory / pathlib.Path("static/")
  10. app_files = fastapi.staticfiles.StaticFiles(directory = str(app_directory))
  11. config_file = core_directory / pathlib.Path("config.json")
  12. config = settings(config_file)
  13. app = application(config)
  14. api = fastapi.FastAPI()
  15. @api.get("/")
  16. async def index():
  17. return fastapi.responses.RedirectResponse("/app/core.html")
  18. @api.get("/provider")
  19. async def provider():
  20. return fastapi.responses.JSONResponse(app.get_provider())
  21. api.mount("/app/", app_files, name = "app_files")
  22. if __name__ == "__main__":
  23. import uvicorn
  24. uvicorn.run(api, host = config.host, port = config.port)