mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
Fixes for BaseURLToolParameter. Data source tools will now work again. Restores consistency to various ways that one might get the parameter value.
This commit is contained in:
@@ -1890,10 +1890,12 @@ class Tool( object, Dictifiable ):
|
||||
"""
|
||||
args = dict()
|
||||
for key, param in self.inputs.iteritems():
|
||||
if isinstance( param, HiddenToolParameter ):
|
||||
# BaseURLToolParameter is now a subclass of HiddenToolParameter, so
|
||||
# we must check if param is a BaseURLToolParameter first
|
||||
if isinstance( param, BaseURLToolParameter ):
|
||||
args[key] = param.get_initial_value( trans, None )
|
||||
elif isinstance( param, HiddenToolParameter ):
|
||||
args[key] = model.User.expand_user_properties( trans.user, param.value )
|
||||
elif isinstance( param, BaseURLToolParameter ):
|
||||
args[key] = param.get_value( trans )
|
||||
else:
|
||||
raise Exception( "Unexpected parameter type" )
|
||||
return args
|
||||
|
||||
@@ -652,6 +652,7 @@ class HiddenToolParameter( ToolParameter ):
|
||||
def get_label( self ):
|
||||
return None
|
||||
|
||||
|
||||
class ColorToolParameter( ToolParameter ):
|
||||
"""
|
||||
Parameter that stores a color.
|
||||
@@ -682,9 +683,23 @@ class BaseURLToolParameter( HiddenToolParameter ):
|
||||
super( BaseURLToolParameter, self ).__init__( tool, input_source )
|
||||
self.value = input_source.get( 'value', '' )
|
||||
|
||||
def get_initial_value( self, trans, context, history=None ):
|
||||
return self._get_value()
|
||||
|
||||
def get_html_field( self, trans=None, value=None, other_values={} ):
|
||||
return form_builder.HiddenField( self.name, self._get_value() )
|
||||
|
||||
def from_html( self, value=None, trans=None, context={} ):
|
||||
return self._get_value()
|
||||
|
||||
def _get_value( self ):
|
||||
return url_for( self.value, qualified=True )
|
||||
|
||||
def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ):
|
||||
d = super( BaseURLToolParameter, self ).to_dict( trans )
|
||||
d[ 'value' ] = self._get_value()
|
||||
return d
|
||||
|
||||
|
||||
DEFAULT_VALUE_MAP = lambda x: x
|
||||
|
||||
|
||||
Reference in New Issue
Block a user