From d5c95fc1cf9023a77460831c8d43672db1a0a234 Mon Sep 17 00:00:00 2001 From: Charlotte Hausman <chausman@nrao.edu> Date: Thu, 22 Jul 2021 17:36:17 +0000 Subject: [PATCH] UI fixes for follow-on imaging --- .../capability/views/capability_request.py | 18 ++++++++++++------ .../workflow/services/workflow_service.py | 5 ++++- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/services/capability/capability/views/capability_request.py b/services/capability/capability/views/capability_request.py index 702cbb50b..3e8293baa 100644 --- a/services/capability/capability/views/capability_request.py +++ b/services/capability/capability/views/capability_request.py @@ -4,7 +4,7 @@ File containing definitions for the other half of the capability side of the Workspaces REST API, concerning capability requests """ - +import json from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPPreconditionFailed from pyramid.request import Request from pyramid.response import Response @@ -126,19 +126,25 @@ def create_follow_on_capability_request(request: Request) -> Response: followon_type = request.matchdict["followon_type"] capability_request = request.capability_info.lookup_capability_request(request_id) - parameters = capability_request.current_execution.parameters + parameters = capability_request.current_version.parameters user_email = parameters["user_email"] previous_workflow_id = capability_request.current_execution.current_workflow_request_id - metadata = request.workflow_service.retrieve_file_content( + metadata_content = request.workflow_service.retrieve_file_content( followon_type, previous_workflow_id, "metadata.json" ) - cms_path = metadata["cms_path"] - sdm_id = metadata["fileSetIds"] + + metadata = json.loads(metadata_content) + cms_path = metadata["destinationDirectory"] + "/working" + sdm_id = ( + metadata["fileSetIds"][0] + if isinstance(metadata["fileSetIds"], list) + else metadata["fileSetIds"] + ) new_capability_request = request.capability_service.create_request( - followon_type, parameters={"cmsPath": cms_path, "sdmId": sdm_id, "user_email": user_email} + followon_type, parameters={"cms_path": cms_path, "sdmId": sdm_id, "user_email": user_email} ) return Response(json_body=new_capability_request.__json__()) diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py index d431f12f3..47bab941d 100644 --- a/shared/workspaces/workspaces/workflow/services/workflow_service.py +++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py @@ -80,7 +80,10 @@ class WorkflowServiceRESTClient(WorkflowServiceIF): :return: dict containing file content """ - requests.get(f"{self.url}/workflow/{name}/requests/{request_id}/files/{filename}") + response = requests.get( + f"{self.url}/workflows/{name}/requests/{request_id}/files/{filename}" + ) + return response.content.decode() def create_workflow_request( self, workflow: Union[str, WorkflowIF], argument: Dict -- GitLab