From 70cd7aad952291496377a9afb02c12cc1e5fb6ad Mon Sep 17 00:00:00 2001 From: Tanya Date: Thu, 8 Jan 2026 13:49:38 -0500 Subject: [PATCH] fix: Handle ValueError in accept_matches function for better error reporting This commit updates the `accept_matches` function in the `people.py` API to include error handling for `ValueError`. If the error message indicates that a resource is not found, it raises an HTTP 404 exception with a user-friendly message. This change improves the robustness of the API by providing clearer feedback to users when a match cannot be accepted. --- .gitea/workflows/ci.yml | 1 - backend/api/people.py | 14 +++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 658b085..83e386a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -486,7 +486,6 @@ jobs: --no-banner \ --redact \ --verbose \ - --platform git.levkin.ca \ --report-path gitleaks-report.json \ --exit-code 0 continue-on-error: true diff --git a/backend/api/people.py b/backend/api/people.py index ad6d774..2a5165e 100644 --- a/backend/api/people.py +++ b/backend/api/people.py @@ -266,9 +266,17 @@ def accept_matches( from backend.api.auth import get_current_user_with_id user_id = current_user["user_id"] - identified_count, updated_count = accept_auto_match_matches( - db, person_id, request.face_ids, user_id=user_id - ) + try: + identified_count, updated_count = accept_auto_match_matches( + db, person_id, request.face_ids, user_id=user_id + ) + except ValueError as e: + if "not found" in str(e).lower(): + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail=str(e) + ) + raise return IdentifyFaceResponse( identified_face_ids=request.face_ids,