claude fix: improve product scraping and debugging features
This commit is contained in:
@@ -1,12 +1,29 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from fastapi import APIRouter, BackgroundTasks
|
||||
from fastapi import APIRouter, BackgroundTasks, HTTPException
|
||||
from pydantic import BaseModel, HttpUrl
|
||||
|
||||
from backend.app.scraper.runner import scrape_all, scrape_product
|
||||
from backend.app.scraper.runner import scrape_all, scrape_preview, scrape_product
|
||||
|
||||
router = APIRouter(prefix="/scrape", tags=["scrape"])
|
||||
|
||||
|
||||
class PreviewRequest(BaseModel):
|
||||
url: HttpUrl
|
||||
|
||||
|
||||
@router.post("/preview")
|
||||
def preview_scrape(payload: PreviewRequest):
|
||||
"""
|
||||
Scrape une URL Amazon sans enregistrer en base.
|
||||
Retourne les données pour prévisualisation avant ajout.
|
||||
"""
|
||||
result = scrape_preview(str(payload.url))
|
||||
if not result["success"] and result["error"]:
|
||||
raise HTTPException(status_code=422, detail=result["error"])
|
||||
return result
|
||||
|
||||
|
||||
@router.post("/product/{product_id}")
|
||||
def trigger_single(product_id: int, background_tasks: BackgroundTasks):
|
||||
# on délègue le vrai travail à un background task rapide
|
||||
|
||||
Reference in New Issue
Block a user