def prepare_tool( tool: Tool, toolversions: List[str], isorphan: bool, is_published_pipeline: bool = False, ): # Stuff to list on the documentation page: # - Versions of tools # - Generated command # - Cool if it grouped the tools by vendor # - if not tool: return None try: if is_published_pipeline: return "" if tool.type() == ToolType.CommandTool: return prepare_commandtool_page(tool, toolversions) elif tool.type() == ToolType.Workflow: return prepare_workflow_page(tool, toolversions) elif tool.type() == ToolType.CodeTool: return prepare_code_tool_page(tool, toolversions) except Exception as e: traceback.print_exc() Logger.critical("Couldn't generate documentation for " + tool.id() + " " + str(e))
def evaluate(cls, tool: Tool) -> Union[str, bool]: """ Evaluate a Janis tool whether they satisfy certain criteria for them to be publishable :param tool: Janis tool :type tool: Tool :return: error message or True if valid :rtype: Union[str, bool] """ if tool.skip_test(): return cls.STATUS_SKIPPED if tool.type() == ToolType.Workflow: return cls.evaluate_workflow(tool) elif tool.type() == ToolType.CommandTool: return cls.evaluate_command_tool(tool) elif tool.type() == ToolType.CodeTool: return cls.evaluate_code_tool(tool) raise Exception("Unrecognised tool type: " + str(tool.type()))