コード例 #1
0
ファイル: action.py プロジェクト: qiime2/q2galaxy
def make_tool(conda_meta, plugin, action):
    signature = action.signature

    inputs = XMLNode('inputs')
    advanced = []
    for case in signature_to_galaxy(signature):
        xml = case.inputs_xml()
        if case.is_advanced():
            if type(xml) is list:
                advanced.extend(xml)
            else:
                advanced.append(xml)
        else:
            if type(xml) is list:
                inputs.extend(xml)
            else:
                inputs.append(xml)
コード例 #2
0
ファイル: action.py プロジェクト: qiime2/q2galaxy
        if case.is_advanced():
            if type(xml) is list:
                advanced.extend(xml)
            else:
                advanced.append(xml)
        else:
            if type(xml) is list:
                inputs.extend(xml)
            else:
                inputs.append(xml)

    if advanced:
        section = XMLNode('section',
                          name=galaxy_ui_var(tag='section', name='extra_opts'),
                          title='Click here for additional options')
        section.extend(advanced)
        inputs.append(section)

    outputs = XMLNode('outputs')
    for name, spec in signature.outputs.items():
        output = make_output(name, spec)
        outputs.append(output)

    tool = XMLNode('tool',
                   id=make_tool_id(plugin.id, action.id),
                   name=make_tool_name(plugin.name, action.id),
                   version=f'{plugin.version}+q2galaxy.{q2galaxy.__version__}')
    tool.append(XMLNode('description', action.name))
    tool.append(make_command(plugin, action))
    tool.append(make_version_command(plugin))
    tool.append(make_config())