diff --git a/steps/find_skymodel_cal.cwl b/steps/find_skymodel_cal.cwl index 51a1dc4a8f7500fccac5cef763cd15d50ecaa505..936a395928c5b0bc0adaf78a404408b8fe8ca47c 100644 --- a/steps/find_skymodel_cal.cwl +++ b/steps/find_skymodel_cal.cwl @@ -7,12 +7,14 @@ baseCommand: - python3 inputs: - id: msin - type: Directory + type: Directory[] doc: MS containing the calibrator inputBinding: position: 0 - id: skymodels - type: Directory + type: + - Directory? + - File? doc: Directory containing the sky models - id: skymodels_extension type: string? @@ -23,6 +25,9 @@ arguments: - '-c' - | import sys + import os + import shutil + null = None from unittest.mock import MagicMock sys.modules['lofarpipe.support.data_map'] = MagicMock() @@ -31,16 +36,26 @@ arguments: from find_skymodel_cal import main as find_skymodel import json mss = sys.argv[1:] - skymodels = "$(inputs.skymodels.path)" + print(mss) + skymodels = $(inputs.skymodels) extension = "$(inputs.skymodels_extension)" + if skymodels is None: + skymodels = "/data/skymodels" + else: + skymodels = skymodels["path"] output = {} if extension != 'null': output = find_skymodel(mss, skymodels, './', extension) else: output = find_skymodel(mss, skymodels, './') - cwl_output = {'class': 'File', 'path': output['SkymodelCal']} + skymodel_path = output['SkymodelCal'] + skymodel_name = output['SkymodelName'] + skymodel_path = shutil.copy(skymodel_path, os.getcwd()) + cwl_output = {"file":{'class': 'File', 'path': skymodel_path}, + "skymodel_name": skymodel_name} + with open('./out.json', 'w') as fp: json.dump(cwl_output, fp) outputs: @@ -49,11 +64,17 @@ outputs: outputBinding: loadContents: true glob: 'out.json' - outputEval: $(JSON.parse(self[0].contents)) + outputEval: $(JSON.parse(self[0].contents).file) + - id: model_name + type: string + outputBinding: + loadContents: true + glob: 'out.json' + outputEval: $(JSON.parse(self[0].contents).skymodel_name) requirements: - class: InlineJavascriptRequirement hints: DockerRequirement: - dockerPull: lofareosc/prefactor-ci:master + dockerPull: lofareosc/prefactor:latest