コード例 #1
0
ファイル: simpleTool1.py プロジェクト: inab/openvre-tool-api
    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 {}, {}
コード例 #2
0
ファイル: simpleTool3.py プロジェクト: inab/openvre-tool-api
    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
コード例 #3
0
    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 {}, {}