@@ -632,9 +632,9 @@ def init_workflows(self, force_update: bool = False):
632632 # skips the setup
633633 for workflow in self .slurm_model_repos .keys ():
634634 if workflow not in self .slurm_model_images or force_update :
635- json_descriptor = self .pull_descriptor_from_github (workflow )
636- logger .debug ('%s: %s' , workflow , json_descriptor )
637- image = json_descriptor ['container-image' ]['image' ]
635+ descriptor = self .pull_descriptor_from_github (workflow )
636+ logger .debug ('%s: %s' , workflow , descriptor )
637+ image = descriptor ['container-image' ]['image' ]
638638 self .slurm_model_images [workflow ] = image
639639
640640 def setup_slurm (self ):
@@ -1883,19 +1883,17 @@ def get_workflow_parameters(self,
18831883 # convert to omero types
18841884 logger .debug (descriptor )
18851885 workflow_dict = {}
1886- for input in descriptor ['inputs' ]:
1886+ for inp in descriptor ['inputs' ]:
18871887 # filter cytomine parameters
1888- if not input ['id' ].startswith ('cytomine' ):
1889- workflow_params = {}
1890- workflow_params ['name' ] = input ['id' ]
1891- workflow_params ['default' ] = input ['default-value' ]
1892- workflow_params ['cytype' ] = input ['type' ]
1893- workflow_params ['optional' ] = input ['optional' ]
1894- cmd_flag = input ['command-line-flag' ]
1895- cmd_flag = cmd_flag .replace ("@id" , input ['id' ])
1896- workflow_params ['cmd_flag' ] = cmd_flag
1897- workflow_params ['description' ] = input ['description' ]
1898- workflow_dict [input ['id' ]] = workflow_params
1888+ id_name = inp .get ('id' , inp .get ('name' ))
1889+ if not id_name .startswith ('cytomine' ):
1890+ workflow_params = {'name' : id_name ,
1891+ 'default' : inp .get ('default-value' , inp .get ('default' )),
1892+ 'cytype' : inp ['type' ],
1893+ 'optional' : inp ['optional' ],
1894+ 'cmd_flag' : inp ['command-line-flag' ].replace ("@id" , id_name ),
1895+ 'description' : inp ['description' ]}
1896+ workflow_dict [inp ['id' ]] = workflow_params
18991897 return workflow_dict
19001898
19011899 def convert_cytype_to_omtype (self ,
@@ -2052,6 +2050,10 @@ def pull_descriptor_from_github(self, workflow: str) -> Dict:
20522050 raise ValueError (
20532051 f'Error while pulling descriptor file for workflow { workflow } ,\
20542052 from { raw_url } : { ghfile .__dict__ } ' )
2053+ if 'container-image' not in descriptor and 'docker_image' in descriptor :
2054+ image = descriptor ['docker_image' ]
2055+ descriptor ['container-image' ] = (
2056+ image .get ('org' ) + '/' + image .get ('name' ) + ':' + image .get ('tag' ))
20552057 return descriptor
20562058
20572059 def get_or_create_github_session (self ):
0 commit comments