mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #2943 from blankenberg/wf_input_name
Allow naming Dataset/collection inputs during workflow extraction.
This commit is contained in:
@@ -993,7 +993,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
|
||||
myexperiment_target_url=myexperiment_target_url )
|
||||
|
||||
@web.expose
|
||||
def build_from_current_history( self, trans, job_ids=None, dataset_ids=None, dataset_collection_ids=None, workflow_name=None ):
|
||||
def build_from_current_history( self, trans, job_ids=None, dataset_ids=None, dataset_collection_ids=None, workflow_name=None, dataset_names=None, dataset_collection_names=None ):
|
||||
user = trans.get_user()
|
||||
history = trans.get_history()
|
||||
if not user:
|
||||
@@ -1014,7 +1014,9 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix
|
||||
job_ids=job_ids,
|
||||
dataset_ids=dataset_ids,
|
||||
dataset_collection_ids=dataset_collection_ids,
|
||||
workflow_name=workflow_name
|
||||
workflow_name=workflow_name,
|
||||
dataset_names=dataset_names,
|
||||
dataset_collection_names=dataset_collection_names
|
||||
)
|
||||
# Index page with message
|
||||
workflow_id = trans.security.encode_id( stored_workflow.id )
|
||||
|
||||
@@ -25,8 +25,8 @@ log = logging.getLogger( __name__ )
|
||||
WARNING_SOME_DATASETS_NOT_READY = "Some datasets still queued or running were ignored"
|
||||
|
||||
|
||||
def extract_workflow( trans, user, history=None, job_ids=None, dataset_ids=None, dataset_collection_ids=None, workflow_name=None ):
|
||||
steps = extract_steps( trans, history=history, job_ids=job_ids, dataset_ids=dataset_ids, dataset_collection_ids=dataset_collection_ids )
|
||||
def extract_workflow( trans, user, history=None, job_ids=None, dataset_ids=None, dataset_collection_ids=None, workflow_name=None, dataset_names=None, dataset_collection_names=None ):
|
||||
steps = extract_steps( trans, history=history, job_ids=job_ids, dataset_ids=dataset_ids, dataset_collection_ids=dataset_collection_ids, dataset_names=dataset_names, dataset_collection_names=None )
|
||||
# Workflow to populate
|
||||
workflow = model.Workflow()
|
||||
workflow.name = workflow_name
|
||||
@@ -52,7 +52,7 @@ def extract_workflow( trans, user, history=None, job_ids=None, dataset_ids=None,
|
||||
return stored
|
||||
|
||||
|
||||
def extract_steps( trans, history=None, job_ids=None, dataset_ids=None, dataset_collection_ids=None ):
|
||||
def extract_steps( trans, history=None, job_ids=None, dataset_ids=None, dataset_collection_ids=None, dataset_names=None, dataset_collection_names=None ):
|
||||
# Ensure job_ids and dataset_ids are lists (possibly empty)
|
||||
if job_ids is None:
|
||||
job_ids = []
|
||||
@@ -79,19 +79,27 @@ def extract_steps( trans, history=None, job_ids=None, dataset_ids=None, dataset_
|
||||
steps_by_job_id = {}
|
||||
hid_to_output_pair = {}
|
||||
# Input dataset steps
|
||||
for hid in dataset_ids:
|
||||
for i, hid in enumerate( dataset_ids ):
|
||||
step = model.WorkflowStep()
|
||||
step.type = 'data_input'
|
||||
step.tool_inputs = dict( name="Input Dataset" )
|
||||
if dataset_names:
|
||||
name = dataset_names[i]
|
||||
else:
|
||||
name = "Input Dataset"
|
||||
step.tool_inputs = dict( name=name )
|
||||
hid_to_output_pair[ hid ] = ( step, 'output' )
|
||||
steps.append( step )
|
||||
for hid in dataset_collection_ids:
|
||||
for i, hid in enumerate( dataset_collection_ids ):
|
||||
step = model.WorkflowStep()
|
||||
step.type = 'data_collection_input'
|
||||
if hid not in summary.collection_types:
|
||||
raise exceptions.RequestParameterInvalidException( "hid %s does not appear to be a collection" % hid )
|
||||
collection_type = summary.collection_types[ hid ]
|
||||
step.tool_inputs = dict( name="Input Dataset Collection", collection_type=collection_type )
|
||||
if dataset_collection_names:
|
||||
name = dataset_collection_names[i]
|
||||
else:
|
||||
name = "Input Dataset Collection"
|
||||
step.tool_inputs = dict( name=name, collection_type=collection_type )
|
||||
hid_to_output_pair[ hid ] = ( step, 'output' )
|
||||
steps.append( step )
|
||||
# Tool steps
|
||||
|
||||
@@ -64,6 +64,8 @@
|
||||
<input type="checkbox" id="as-input-${ encoded_id }" class="as-input"
|
||||
name="${data.history_content_type}_ids" value="${data.hid}" checked="true" />
|
||||
<label for="as-input-${ encoded_id }" >${_('Treat as input dataset')}</label>
|
||||
<input type="text" id="as-named-input-${ encoded_id }" class="as-named-input"
|
||||
name="${data.history_content_type}_names" value="${data.display_name() | h}" />
|
||||
%endif
|
||||
</div>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user