def run(self, input_files, input_metadata, output_files): """ Standard function to call a task """ # input and output share most metadata output_metadata = Metadata.get_child(input_metadata["input"], output_files["output"]) # Run the tool logger.info("SimpleTool1: Running task inputPlusOne") task_status = self.inputPlusOne(input_files["input"], output_files["output"]) logger.info("SimpleTool1: task inputPlusOne done") if task_status: logger.info("SimpleTool1: run successful") return ({ "output": output_files["output"] }, { "output": output_metadata }) logger.fatal("SimpleTool1: run failed") return {}, {}
def run(self, input_files, input_metadata, output_files): """ Standard function to call tasks """ # perform checks assert len(input_files["input"]) == len(input_metadata["input"]) # prepare outputs logger.info("SimpleTool3: Preparing outputs") output_pattern = output_files["output"] output_files["output"] = [] output_metadata = {} output_metadata["output"] = [] # Iteratively run the task previous_input = input_files["input"][0] previous_metadata = input_metadata["input"][0] for i in range(len(input_files["input"]) - 1): logger.info("SimpleTool3: Summing input {}", i) # Add next input file: next_input = input_files["input"][i + 1] next_metadata = input_metadata["input"][i + 1] # Pre-calculate output path and metadata file_out = output_pattern.format(i) metadata_out = Metadata.get_child( (previous_metadata, next_metadata), file_out) # run task success = self.sumTwoFiles(previous_input, next_input, file_out) if success: # keep track of successful iterations output_files["output"].append(file_out) # input and outputs share most metadata output_metadata["output"].append(metadata_out) previous_input = file_out previous_metadata = metadata_out logger.info("SimpleTool3: Input {} successful", i) else: logger.warn("SimpleTool3: Input {} failed", i) return output_files, output_metadata
def run(self, input_files, input_metadata, output_files): """ Standard function to call a task """ # input and output share most metadata output_metadata = Metadata.get_child(input_metadata["input1"], output_files["output"]) # Run the tool 2 logger.info("SimpleTool2: Running task sumTwoFiles") task_status = self.sumTwoFiles(input_files["input1"], input_files["input2"], output_files["output"]) if task_status: logger.info("SimpleTool2: run successful") return (output_files, {"output": output_metadata}) logger.fatal("SimpleTool2: run failed") return {}, {}