#!/usr/bin/env python3 """ Main executable of `ovkiosk`. Creates the main `FastAPI` app. If run directly, uses `uvicorn` to run the app. """ import uvicorn from fastapi import FastAPI from webdav3.client import Client from .config import SETTINGS from .routers import main_router app = FastAPI( title="OVKiosk API", description="This API enables the `OVKiosk` service.", contact={ "name": "Jörn-Michael Miehe", "email": "jmm@yavook.de", }, openapi_url=SETTINGS.openapi_url, docs_url=SETTINGS.docs_url if not SETTINGS.production_mode else None, redoc_url=SETTINGS.redoc_url if not SETTINGS.production_mode else None, ) app.include_router(main_router) def main() -> None: options = { "webdav_hostname": SETTINGS.webdav_url, "webdav_login": SETTINGS.dav_username, "webdav_password": SETTINGS.dav_password, } client = Client(options) print(client.list()) uvicorn.run( app="ovkiosk.main:app", host="0.0.0.0", port=8000, reload=True, ) if __name__ == "__main__": main()