Refactor workflow module to allow multiple kinds of inputs.

This commit is contained in:
John Chilton
2014-05-06 08:54:30 -05:00
parent 7d14e29091
commit 8bc2c74b20
+9 -5
View File
@@ -111,21 +111,19 @@ class WorkflowModule( object ):
raise TypeError( "Abstract method" )
class InputDataModule( WorkflowModule ):
type = "data_input"
name = "Input dataset"
class InputModule( WorkflowModule ):
@classmethod
def new( Class, trans, tool_id=None ):
module = Class( trans )
module.state = dict( name="Input Dataset" )
module.state = dict( name=Class.default_name )
return module
@classmethod
def from_dict( Class, trans, d, secure=True ):
module = Class( trans )
state = from_json_string( d["tool_state"] )
module.state = dict( name=state.get( "name", "Input Dataset" ) )
module.state = dict( name=state.get( "name", Class.default_name ) )
return module
@classmethod
@@ -191,6 +189,12 @@ class InputDataModule( WorkflowModule ):
return None, dict( output=state.inputs['input'])
class InputDataModule( InputModule ):
type = "data_input"
name = "Input dataset"
default_name = "Input Dataset"
class ToolModule( WorkflowModule ):
type = "tool"