diff --git a/services/metadata_service/api/artifact.py b/services/metadata_service/api/artifact.py index f7b5aed2..22977596 100644 --- a/services/metadata_service/api/artifact.py +++ b/services/metadata_service/api/artifact.py @@ -137,7 +137,7 @@ async def get_artifacts_by_task(self, request): ) filtered_body = ArtificatsApi._filter_artifacts_by_attempt_id( - artifacts.body) + artifacts) return web.Response( status=artifacts.response_code, body=json.dumps(filtered_body) ) @@ -181,7 +181,7 @@ async def get_artifacts_by_step(self, request): ) filtered_body = ArtificatsApi._filter_artifacts_by_attempt_id( - artifacts.body) + artifacts) return web.Response( status=artifacts.response_code, body=json.dumps(filtered_body) ) @@ -216,7 +216,7 @@ async def get_artifacts_by_run(self, request): artifacts = await self._async_table.get_artifacts_in_runs(flow_name, run_number) filtered_body = ArtificatsApi._filter_artifacts_by_attempt_id( - artifacts.body) + artifacts) return web.Response( status=artifacts.response_code, body=json.dumps(filtered_body) ) @@ -352,9 +352,11 @@ def _get_latest_attempt_id(artifacts): @staticmethod def _filter_artifacts_by_attempt_id(artifacts): - attempt_id = ArtificatsApi._get_latest_attempt_id(artifacts) + if artifacts.response_code != 200: + return artifacts.body + attempt_id = ArtificatsApi._get_latest_attempt_id(artifacts.body) result = [] - for artifact in artifacts: + for artifact in artifacts.body: if artifact['attempt_id'] == attempt_id: result.append(artifact)