Exemplo n.º 1
0
def get_test_node():
    node = Node()
    node.title = 'Command 1x1'
    node.description = 'Any command with 1 arg'
    node.kind = "dummy"

    node.inputs = []
    node.inputs.append(Input())
    node.inputs[-1].name = 'in'
    node.inputs[-1].file_type = 'file'
    node.inputs[-1].values = []

    node.outputs = []
    node.outputs.append(Output())
    node.outputs[-1].name = 'out'
    node.outputs[-1].file_type = 'file'

    node.parameters = []
    node.parameters.append(Parameter())
    node.parameters[-1].name = 'number'
    node.parameters[-1].parameter_type = ParameterTypes.INT
    node.parameters[-1].value = -1
    node.parameters[-1].widget = 'Number'

    node.parameters.append(Parameter())
    node.parameters[-1].name = 'cmd'
    node.parameters[-1].parameter_type = ParameterTypes.STR
    node.parameters[
        -1].value = 'cat ${input[in]} | grep ${param[text]} > ${output[out]}'
    node.parameters[-1].widget = 'Command line'

    return node
Exemplo n.º 2
0
 def get_default_node(cls, is_workflow):
     node = super().get_default_node(is_workflow)
     if not is_workflow:
         node.parameters.append(
             Parameter.from_dict({
                 'name': '_cacheable',
                 'parameter_type': ParameterTypes.BOOL,
                 'value': False,
                 'mutable_type': False,
                 'publicable': False,
                 'removable': False,
             })
         )
     node.parameters.append(
         Parameter.from_dict({
             'name': '_timeout',
             'parameter_type': ParameterTypes.INT,
             'value': 600,
             'mutable_type': False,
             'publicable': True,
             'removable': False
         })
     )
     node.title = 'New DAG workflow'
     return node
Exemplo n.º 3
0
 def get_default_node(cls, is_workflow):
     if is_workflow:
         raise Exception('This class cannot be a workflow')
     node = super().get_default_node(is_workflow)
     node.parameters.extend([
         Parameter.from_dict({
             'name': '_cmd',
             'parameter_type': ParameterTypes.CODE,
             'value': {
                 'mode': 'sh',
                 'value': 'set -e\n\n',
             },
             'mutable_type': False,
             'publicable': False,
             'removable': False,
         }),
         Parameter.from_dict({
             'name': '_cacheable',
             'parameter_type': ParameterTypes.BOOL,
             'value': True,
             'mutable_type': False,
             'publicable': False,
             'removable': False,
         }),
         Parameter.from_dict({
             'name': '_timeout',
             'parameter_type': ParameterTypes.INT,
             'value': 600,
             'mutable_type': False,
             'publicable': True,
             'removable': False
         }),
     ])
     node.logs.extend([
         Output.from_dict({
             'name': 'stderr',
             'file_type': FILE_KIND,
         }),
         Output({
             'name': 'stdout',
             'file_type': FILE_KIND,
         }),
         Output({
             'name': 'worker',
             'file_type': FILE_KIND,
         }),
     ])
     return node
Exemplo n.º 4
0
def _extend_default_node_in_place(node):
    for param in KeyConstants:
        node.parameters.append(
            Parameter.from_dict({
                'name': param.value.name,
                'parameter_type': param.value.type,
                'value': param.value.default,
                'mutable_type': False,
                'publicable': True,
                'removable': False,
            }))

    node.logs.extend([
        Output({
            'name': 'k8s_worker',
            'file_type': FILE_KIND,
        }),
    ])
Exemplo n.º 5
0
 def get_default_node(cls, is_workflow):
     node = Node()
     if cls.IS_GRAPH:
         nodes_parameter = Parameter.from_dict({
             'name': '_nodes',
             'parameter_type': ParameterTypes.LIST_NODE,
             'value': [],
             'mutable_type': False,
             'publicable': False,
             'removable': False,
             }
         )
         if not is_workflow:
             # need to add inputs and outputs
             import logging
             logging.info(type(nodes_parameter.value.value), 'a')
             nodes_parameter.value.value.extend(
                 [
                     Node.from_dict({
                         '_id': SpecialNodeId.INPUT,
                         'title': 'Input',
                         'description': 'Operation inputs',
                         'node_running_status': NodeRunningStatus.SPECIAL,
                         'node_status': NodeStatus.READY,
                     }),
                     Node.from_dict({
                         '_id': SpecialNodeId.OUTPUT,
                         'title': 'Output',
                         'description': 'Operation outputs',
                         'node_running_status': NodeRunningStatus.SPECIAL,
                         'node_status': NodeStatus.READY,
                     }),
                 ]
             )
         node.parameters.extend([
             nodes_parameter,
         ])
         node.arrange_auto_layout()
     return node