Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, File, UploadFile, Request | |
| from fastapi.responses import HTMLResponse | |
| from fastapi.staticfiles import StaticFiles | |
| from fastapi.templating import Jinja2Templates | |
| import os | |
| import shutil | |
| from similarity_module import get_top_similar_images, resize_image, move_images_to_folder | |
| app = FastAPI() | |
| app.mount("/static", StaticFiles(directory="static"), name="static") | |
| app.mount("/top_similar", StaticFiles(directory="top_similar"), name="top_similar") | |
| templates = Jinja2Templates(directory="templates") | |
| # Include the functions defined above | |
| async def home(request: Request): | |
| return templates.TemplateResponse("index.html", {"request": request}) | |
| async def upload_file(request: Request, file: UploadFile = File(...)): | |
| try: | |
| with open(file.filename, "wb") as buffer: | |
| shutil.copyfileobj(file.file, buffer) | |
| top_similar_images = get_top_similar_images(file.filename, 'resized_img') | |
| move_images_to_folder([filename for filename, _ in top_similar_images], 'top_similar') | |
| return templates.TemplateResponse("result2.html", {"request": request, "images": top_similar_images}) | |
| except Exception as e: | |
| return templates.TemplateResponse("error.html", {"request": request, "error_message": str(e)}) |