| import asyncio | |
| import uvicorn | |
| import gradio as gr | |
| from home import build_securely | |
| from routes import get_user, app as my_app | |
| import ui | |
| def get_user_from_request(request: gr.Request): | |
| print("request.username = ", request.username) | |
| return request.username or "Unknown" | |
| async def mount_apps(app): | |
| with gr.Blocks() as login_sheami_app: | |
| ui.render_logo() | |
| with gr.Row(): | |
| gr.Column() | |
| gr.Button("Login", link="/login", variant="huggingface", scale=0, size="lg") | |
| gr.Column() | |
| app = gr.mount_gradio_app(app, login_sheami_app, path="/login-sheami") | |
| block = await build_securely() | |
| app = gr.mount_gradio_app(app, block, path="/gradio", auth_dependency=get_user) | |
| return app | |
| def start_server(): | |
| app = asyncio.run(mount_apps(my_app)) | |
| uvicorn.run(app, host="0.0.0.0", port=7860) | |