details: http://www.bx.psu.edu/hg/galaxy/rev/26ae03082033 changeset: 1562:26ae03082033 user: Dan Blankenberg dan@bx.psu.edu date: Mon Oct 20 12:44:33 2008 -0400 description: Fix for implicit conversion checking on multiple paged tools. Conversion is never allowed on multi-paged tools.
1 file(s) affected in this change:
lib/galaxy/tools/parameters/basic.py
diffs (34 lines):
diff -r d3a267ac124b -r 26ae03082033 lib/galaxy/tools/parameters/basic.py --- a/lib/galaxy/tools/parameters/basic.py Mon Oct 20 09:25:38 2008 -0400 +++ b/lib/galaxy/tools/parameters/basic.py Mon Oct 20 12:44:33 2008 -0400 @@ -1006,7 +1006,8 @@ def __init__( self, tool, elem ): ToolParameter.__init__( self, tool, elem ) # Add metadata validator - self.validators.append( validation.MetadataValidator() ) + if not str_bool( elem.get( 'no_validation', False ) ): + self.validators.append( validation.MetadataValidator() ) # Build tuple of classes for supported data formats formats = [] self.extensions = elem.get( 'format', 'data' ).split( "," ) @@ -1107,7 +1108,7 @@ pass #no valid options def dataset_collector( datasets ): def is_convertable( dataset ): - target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = True ) #need to assume converter_safe = True, since we don't know about other parameter values here + target_ext, converted_dataset = dataset.find_conversion_destination( self.formats, converter_safe = self.converter_safe( None, trans ) ) if target_ext is not None: return True return False @@ -1180,8 +1181,10 @@ return []
def converter_safe( self, other_values, trans ): - if not hasattr( trans, 'workflow_building_mode' ) or trans.workflow_building_mode: + if self.tool.has_multiple_pages or not hasattr( trans, 'workflow_building_mode' ) or trans.workflow_building_mode: return False + if other_values is None: + return True # we don't know other values, so we can't check, assume ok converter_safe = [True] def visitor( prefix, input, value, parent = None ): if isinstance( input, SelectToolParameter ) and self.name in input.get_dependencies():