Download dashboard/main.py from afluakd9/Video-downloader-CPU-basic: direct link, hf CLI and curl.
- Browser
- Download file 1.91 kB
-
https://huggingface.co/spaces/afluakd9/Video-downloader-CPU-basic/resolve/main/dashboard/main.py
- Command line
-
hf download hf://spaces/afluakd9/Video-downloader-CPU-basic/dashboard/main.py
-
curl -L -o main.py https://huggingface.co/spaces/afluakd9/Video-downloader-CPU-basic/resolve/main/dashboard/main.py
1.91 kB
| """FastAPI application factory for the reclip_bot admin dashboard.""" | |
| import asyncio | |
| import os | |
| from contextlib import asynccontextmanager | |
| from pathlib import Path | |
| from fastapi import FastAPI | |
| from fastapi.staticfiles import StaticFiles | |
| import db | |
| from routes.api import router as api_router | |
| from routes.pages import router as pages_router | |
| _STATIC_DIR = Path(__file__).parent / "static" | |
| _DOWNLOADS_PATH = Path(os.environ.get("DOWNLOADS_PATH", "/downloads")) | |
| async def _disk_snapshot_loop() -> None: | |
| """Background task: scan DOWNLOADS_PATH every 5 minutes and record snapshot.""" | |
| while True: | |
| try: | |
| downloads_path = Path(os.environ.get("DOWNLOADS_PATH", "/downloads")) | |
| total_bytes = 0 | |
| file_count = 0 | |
| if downloads_path.exists(): | |
| for item in downloads_path.rglob("*"): | |
| if item.is_file(): | |
| try: | |
| total_bytes += item.stat().st_size | |
| file_count += 1 | |
| except OSError: | |
| pass | |
| await db.insert_disk_snapshot(total_bytes=total_bytes, file_count=file_count) | |
| except Exception: | |
| pass | |
| await asyncio.sleep(300) # 5 minutes | |
| async def _lifespan(app: FastAPI): | |
| await db.init_db() | |
| task = asyncio.create_task(_disk_snapshot_loop()) | |
| try: | |
| yield | |
| finally: | |
| task.cancel() | |
| try: | |
| await task | |
| except asyncio.CancelledError: | |
| pass | |
| def create_app() -> FastAPI: | |
| """Application factory.""" | |
| app = FastAPI(title="reclip admin", lifespan=_lifespan) | |
| if _STATIC_DIR.exists(): | |
| app.mount("/static", StaticFiles(directory=str(_STATIC_DIR)), name="static") | |
| app.include_router(api_router) | |
| app.include_router(pages_router) | |
| return app | |
| app = create_app() | |