From 809c28d70671471166236cf6fe2111cadab77f11 Mon Sep 17 00:00:00 2001 From: Arseny Boykov <36469655+Bobronium@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:36:17 +0200 Subject: [PATCH] Add PROJECT_COMPLETED_STATUSES to account for deleted status (#2639) --- .../cvat/exchange-oracle/src/endpoints/exchange.py | 5 ++--- .../cvat/exchange-oracle/src/endpoints/serializers.py | 10 +++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/examples/cvat/exchange-oracle/src/endpoints/exchange.py b/packages/examples/cvat/exchange-oracle/src/endpoints/exchange.py index 36172d43d4..b0c3230955 100644 --- a/packages/examples/cvat/exchange-oracle/src/endpoints/exchange.py +++ b/packages/examples/cvat/exchange-oracle/src/endpoints/exchange.py @@ -28,6 +28,7 @@ from src.endpoints.serializers import ( ASSIGNMENT_PROJECT_VALIDATION_STATUSES, PROJECT_ACTIVE_STATUSES, + PROJECT_COMPLETED_STATUSES, serialize_assignment, serialize_job, ) @@ -146,9 +147,7 @@ async def list_jobs( cvat_service.Project.status == cvat_service.ProjectStatuses.canceled ) case JobStatuses.completed: - query = query.filter( - cvat_service.Project.status == cvat_service.ProjectStatuses.recorded - ) + query = query.filter(cvat_service.Project.status.in_(PROJECT_COMPLETED_STATUSES)) case _: raise NotImplementedError(f"Unsupported status {status}") diff --git a/packages/examples/cvat/exchange-oracle/src/endpoints/serializers.py b/packages/examples/cvat/exchange-oracle/src/endpoints/serializers.py index d7d84e2bc5..8ff626f4a6 100644 --- a/packages/examples/cvat/exchange-oracle/src/endpoints/serializers.py +++ b/packages/examples/cvat/exchange-oracle/src/endpoints/serializers.py @@ -12,11 +12,15 @@ from src.schemas import exchange as service_api from src.utils.assignments import compose_assignment_url, parse_manifest -PROJECT_ACTIVE_STATUSES = [ +PROJECT_ACTIVE_STATUSES = { ProjectStatuses.annotation, ProjectStatuses.completed, ProjectStatuses.validation, -] +} +PROJECT_COMPLETED_STATUSES = { + ProjectStatuses.recorded, + ProjectStatuses.deleted, +} def serialize_job( @@ -48,7 +52,7 @@ def serialize_job( api_status = service_api.JobStatuses.canceled elif project.status in PROJECT_ACTIVE_STATUSES: api_status = service_api.JobStatuses.active - elif project.status == ProjectStatuses.recorded: + elif project.status in PROJECT_COMPLETED_STATUSES: api_status = service_api.JobStatuses.completed else: raise NotImplementedError(f"Unknown status {project.status}")