diff --git a/datatypes_conf.xml.sample b/datatypes_conf.xml.sample
index 57122d0d8c3..ecb3554d075 100644
--- a/datatypes_conf.xml.sample
+++ b/datatypes_conf.xml.sample
@@ -59,7 +59,6 @@
-
diff --git a/lib/galaxy/app.py b/lib/galaxy/app.py
index 040cd472d47..e3ca063ced7 100644
--- a/lib/galaxy/app.py
+++ b/lib/galaxy/app.py
@@ -18,7 +18,6 @@ from galaxy.tools.imp_exp import load_history_imp_exp_tools
from galaxy.tools.genome_index import load_genome_index_tools
from galaxy.sample_tracking import external_service_types
from galaxy.openid.providers import OpenIDProviders
-from galaxy.tools.data_manager.manager import DataManagers
class UniverseApplication( object ):
"""Encapsulates the state of a Universe application"""
@@ -94,8 +93,6 @@ class UniverseApplication( object ):
self.toolbox = tools.ToolBox( tool_configs, self.config.tool_path, self )
# Search support for tools
self.toolbox_search = galaxy.tools.search.ToolBoxSearch( self.toolbox )
- #datamanager
- self.data_managers = DataManagers( self )
# If enabled, poll respective tool sheds to see if updates are available for any installed tool shed repositories.
if self.config.get_bool( 'enable_tool_shed_check', False ):
from tool_shed import update_manager
diff --git a/lib/galaxy/config.py b/lib/galaxy/config.py
index 66c476fce25..823003fe38b 100644
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -75,10 +75,6 @@ class Configuration( object ):
except:
self.hours_between_check = 12
self.update_integrated_tool_panel = kwargs.get( "update_integrated_tool_panel", True )
- self.enable_data_manager_user_view = string_as_bool( kwargs.get( "enable_data_manager_user_view", "False" ) )
- self.data_manager_config_file = resolve_path( kwargs.get(' data_manager_config_file', 'data_manager_conf.xml' ), self.root )
- self.data_manager_move_files = string_as_bool( kwargs.get( "data_manager_move_files", "False" ) )
- self.galaxy_data_manager_data_path = kwargs.get( 'galaxy_data_manager_data_dir', self.tool_data_path )
self.tool_secret = kwargs.get( "tool_secret", "" )
self.id_secret = kwargs.get( "id_secret", "USING THE DEFAULT IS NOT SECURE!" )
self.set_metadata_externally = string_as_bool( kwargs.get( "set_metadata_externally", "False" ) )
diff --git a/lib/galaxy/jobs/runners/local.py b/lib/galaxy/jobs/runners/local.py
index b2323286fa2..acd748528b9 100644
--- a/lib/galaxy/jobs/runners/local.py
+++ b/lib/galaxy/jobs/runners/local.py
@@ -44,7 +44,7 @@ class LocalJobRunner( BaseJobRunner ):
log.debug( "%d workers ready", nworkers )
def run_next( self ):
- """Run the next job, waiting until one is available if necessary"""
+ """Run the next job, waiting until one is available if neccesary"""
while 1:
job_wrapper = self.queue.get()
if job_wrapper is self.STOP_SIGNAL:
diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py
index b53e3655e9b..ff316dba983 100644
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -2996,20 +2996,6 @@ class VisualizationRatingAssociation( ItemRatingAssociation ):
def set_item( self, visualization ):
self.visualization = visualization
-#Data Manager Classes
-class DataManagerHistoryAssociation( object ):
- def __init__( self, id=None, history=None, user=None ):
- self.id = id
- self.history = history
- self.user = user
-
-class DataManagerJobAssociation( object ):
- def __init__( self, id=None, job=None, data_manager_id=None ):
- self.id = id
- self.job = job
- self.data_manager_id = data_manager_id
-#end of Data Manager Classes
-
class UserPreference ( object ):
def __init__( self, name=None, value=None ):
self.name = name
diff --git a/lib/galaxy/model/mapping.py b/lib/galaxy/model/mapping.py
index ca10ee35c47..ff58bf7e37d 100644
--- a/lib/galaxy/model/mapping.py
+++ b/lib/galaxy/model/mapping.py
@@ -930,23 +930,6 @@ VisualizationUserShareAssociation.table = Table( "visualization_user_share_assoc
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True )
)
-#Data Manager tables
-DataManagerHistoryAssociation.table = Table( "data_manager_history_association", metadata,
- Column( "id", Integer, primary_key=True),
- Column( "create_time", DateTime, default=now ),
- Column( "update_time", DateTime, index=True, default=now, onupdate=now ),
- Column( "history_id", Integer, ForeignKey( "history.id" ), index=True ),
- Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True )
- )
-
-DataManagerJobAssociation.table = Table( "data_manager_job_association", metadata,
- Column( "id", Integer, primary_key=True),
- Column( "create_time", DateTime, default=now ),
- Column( "update_time", DateTime, index=True, default=now, onupdate=now ),
- Column( "job_id", Integer, ForeignKey( "job.id" ), index=True ),
- Column( "data_manager_id", TEXT, index=True )
- )
-
# Tagging tables.
Tag.table = Table( "tag", metadata,
@@ -1916,17 +1899,6 @@ assign_mapper( context, VisualizationRatingAssociation, VisualizationRatingAssoc
properties=dict( visualization=relation( Visualization ), user=relation( User ) )
)
-#Data Manager tables
-assign_mapper( context, DataManagerHistoryAssociation, DataManagerHistoryAssociation.table,
- properties=dict( history=relation( History ),
- user=relation( User, backref='data_manager_histories' )
- )
- )
-
-assign_mapper( context, DataManagerJobAssociation, DataManagerJobAssociation.table,
- properties=dict( job=relation( Job, backref=backref('data_manager_association', uselist=False ), uselist=False ) )
- )
-
# User tables.
assign_mapper( context, UserPreference, UserPreference.table,
diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index 0d291aefbf8..4a57a1c321f 100755
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -6,7 +6,7 @@ import pkg_resources
pkg_resources.require( "simplejson" )
pkg_resources.require( "Mako" )
-import logging, os, string, sys, tempfile, glob, shutil, types, urllib, subprocess, random, math, traceback, re, pipes
+import logging, os, string, sys, tempfile, glob, shutil, types, urllib, subprocess, random, math, traceback, re
import simplejson
import binascii
from mako.template import Template
@@ -25,7 +25,6 @@ from parameters.input_translation import ToolInputTranslator
from galaxy.util.expressions import ExpressionContext
from galaxy.tools.test import ToolTestBuilder
from galaxy.tools.actions import DefaultToolAction
-from galaxy.tools.actions.data_manager import DataManagerToolAction
from galaxy.tools.deps import DependencyManager
from galaxy.model import directory_hash_id
from galaxy.model.orm import *
@@ -80,7 +79,6 @@ class ToolBox( object ):
# In-memory dictionary that defines the layout of the tool panel.
self.tool_panel = odict()
self.index = 0
- self.data_manager_tools = odict()
# File that contains the XML section and tool tags from all tool panel config files integrated into a
# single file that defines the tool panel layout. This file can be changed by the Galaxy administrator
# (in a way similar to the single tool_conf.xml file in the past) to alter the layout of the tool panel.
@@ -510,7 +508,7 @@ class ToolBox( object ):
self.integrated_tool_panel[ key ] = integrated_section
else:
self.integrated_tool_panel.insert( index, key, integrated_section )
- def load_tool( self, config_file, guid=None, **kwds ):
+ def load_tool( self, config_file, guid=None ):
"""Load a single tool from the file named by `config_file` and return an instance of `Tool`."""
# Parse XML configuration file and get the root element
tree = util.parse_xml( config_file )
@@ -526,7 +524,7 @@ class ToolBox( object ):
ToolClass = tool_types.get( root.get( 'tool_type' ) )
else:
ToolClass = Tool
- return ToolClass( config_file, root, self.app, guid=guid, **kwds )
+ return ToolClass( config_file, root, self.app, guid=guid )
def reload_tool_by_id( self, tool_id ):
"""
Attempt to reload the tool identified by 'tool_id', if successful
@@ -813,7 +811,6 @@ class Tool( object ):
"""
tool_type = 'default'
- default_tool_action = DefaultToolAction
def __init__( self, config_file, root, app, guid=None ):
"""Load a tool from the config named by `config_file`"""
@@ -1054,7 +1051,7 @@ class Tool( object ):
# Action
action_elem = root.find( "action" )
if action_elem is None:
- self.tool_action = self.default_tool_action()
+ self.tool_action = DefaultToolAction()
else:
module = action_elem.get( 'module' )
cls = action_elem.get( 'class' )
@@ -2573,24 +2570,18 @@ class Tool( object ):
temp_file_path = os.path.join( job_working_directory, "dataset_%s_files" % ( hda.dataset.id ) )
try:
a_files = os.listdir( temp_file_path )
- print 'a_files',a_files
if len( a_files ) > 0:
for f in a_files:
- print 'f', f
self.app.object_store.update_from_file(hda.dataset,
extra_dir="dataset_%d_files" % hda.dataset.id,
alt_name = f,
file_name = os.path.join(temp_file_path, f),
- create = True,
- preserve_symlinks = True )
+ create = True)
# Clean up after being handled by object store.
# FIXME: If the object (e.g., S3) becomes async, this will
# cause issues so add it to the object store functionality?
- print 'before rmtree'
shutil.rmtree(temp_file_path)
- print 'after rm tree'
- except Exception, e:
- log.debug( "Error in collect_associated_files: %s" % ( e ) )
+ except:
continue
def collect_child_datasets( self, output, job_working_directory ):
"""
@@ -2815,64 +2806,7 @@ class Tool( object ):
return tool_dict
- def get_default_history_by_trans( self, trans, create=False ):
- return trans.get_history( create=create )
-
-
-class OutputParameterJSONTool( Tool ):
- """
- Alternate implementation of Tool that provides parameters and other values
- JSONified within the contents of an output dataset
- """
- tool_type = 'output_parameter_json'
- def _prepare_json_list( self, param_list ):
- rval = []
- for value in param_list:
- if isinstance( value, dict ):
- rval.append( self._prepare_json_param_dict( value ) )
- elif isinstance( value, list ):
- rval.append( self._prepare_json_list( value ) )
- else:
- rval.append( str( value ) )
- return rval
- def _prepare_json_param_dict( self, param_dict ):
- rval = {}
- for key, value in param_dict.iteritems():
- if isinstance( value, dict ):
- rval[ key ] = self._prepare_json_param_dict( value )
- elif isinstance( value, list ):
- rval[ key ] = self._prepare_json_list( value )
- else:
- rval[ key ] = str( value )
- return rval
- def exec_before_job( self, app, inp_data, out_data, param_dict=None ):
- if param_dict is None:
- param_dict = {}
- json_params = {}
- json_params[ 'param_dict' ] = self._prepare_json_param_dict( param_dict ) #it would probably be better to store the original incoming parameters here, instead of the Galaxy modified ones?
- json_params[ 'output_data' ] = []
- json_params[ 'job_config' ] = dict( GALAXY_DATATYPES_CONF_FILE=param_dict.get( 'GALAXY_DATATYPES_CONF_FILE' ), GALAXY_ROOT_DIR=param_dict.get( 'GALAXY_ROOT_DIR' ), TOOL_PROVIDED_JOB_METADATA_FILE=jobs.TOOL_PROVIDED_JOB_METADATA_FILE )
- json_filename = None
- for i, ( out_name, data ) in enumerate( out_data.iteritems() ):
- #use wrapped dataset to access certain values
- wrapped_data = param_dict.get( out_name )
- #allow multiple files to be created
- file_name = str( wrapped_data )
- extra_files_path = str( wrapped_data.files_path )
- data_dict = dict( out_data_name = out_name,
- ext = data.ext,
- dataset_id = data.dataset.id,
- hda_id = data.id,
- file_name = file_name,
- extra_files_path = extra_files_path )
- json_params[ 'output_data' ].append( data_dict )
- if json_filename is None:
- json_filename = file_name
- out = open( json_filename, 'w' )
- out.write( simplejson.dumps( json_params ) )
- out.close()
-
-class DataSourceTool( OutputParameterJSONTool ):
+class DataSourceTool( Tool ):
"""
Alternate implementation of Tool for data_source tools -- those that
allow the user to query and extract data from another web site.
@@ -2882,10 +2816,29 @@ class DataSourceTool( OutputParameterJSONTool ):
def _build_GALAXY_URL_parameter( self ):
return ToolParameter.build( self, ElementTree.XML( '' % self.id ) )
def parse_inputs( self, root ):
- super( DataSourceTool, self ).parse_inputs( root )
+ Tool.parse_inputs( self, root )
if 'GALAXY_URL' not in self.inputs:
self.inputs[ 'GALAXY_URL' ] = self._build_GALAXY_URL_parameter()
- self.inputs_by_page[0][ 'GALAXY_URL' ] = self.inputs[ 'GALAXY_URL' ]
+ def _prepare_datasource_json_list( self, param_list ):
+ rval = []
+ for value in param_list:
+ if isinstance( value, dict ):
+ rval.append( self._prepare_datasource_json_param_dict( value ) )
+ elif isinstance( value, list ):
+ rval.append( self._prepare_datasource_json_list( value ) )
+ else:
+ rval.append( str( value ) )
+ return rval
+ def _prepare_datasource_json_param_dict( self, param_dict ):
+ rval = {}
+ for key, value in param_dict.iteritems():
+ if isinstance( value, dict ):
+ rval[ key ] = self._prepare_datasource_json_param_dict( value )
+ elif isinstance( value, list ):
+ rval[ key ] = self._prepare_datasource_json_list( value )
+ else:
+ rval[ key ] = str( value )
+ return rval
def exec_before_job( self, app, inp_data, out_data, param_dict=None ):
if param_dict is None:
param_dict = {}
@@ -2895,7 +2848,7 @@ class DataSourceTool( OutputParameterJSONTool ):
name = param_dict.get( 'name' )
json_params = {}
- json_params[ 'param_dict' ] = self._prepare_json_param_dict( param_dict ) #it would probably be better to store the original incoming parameters here, instead of the Galaxy modified ones?
+ json_params[ 'param_dict' ] = self._prepare_datasource_json_param_dict( param_dict ) #it would probably be better to store the original incoming parameters here, instead of the Galaxy modified ones?
json_params[ 'output_data' ] = []
json_params[ 'job_config' ] = dict( GALAXY_DATATYPES_CONF_FILE=param_dict.get( 'GALAXY_DATATYPES_CONF_FILE' ), GALAXY_ROOT_DIR=param_dict.get( 'GALAXY_ROOT_DIR' ), TOOL_PROVIDED_JOB_METADATA_FILE=jobs.TOOL_PROVIDED_JOB_METADATA_FILE )
json_filename = None
@@ -2986,186 +2939,9 @@ class ImportHistoryTool( Tool ):
class GenomeIndexTool( Tool ):
tool_type = 'index_genome'
-class DataManagerTool( OutputParameterJSONTool ):
- tool_type = 'manage_data'
- default_tool_action = DataManagerToolAction
-
- def __init__( self, config_file, root, app, guid=None, data_manager_id=None, **kwds ):
- self.data_manager_id = data_manager_id
- super( DataManagerTool, self ).__init__( config_file, root, app, guid=guid, **kwds )
- if self.data_manager_id is None:
- self.data_manager_id = self.id
-
- #def parse_inputs( self, root ):
- # super( DataManagerTool, self ).parse_inputs( root )
- # '''
- # if '__GALAXY_MOVE_OUTPUT_FILES__' not in self.inputs:
- # self.inputs[ '__GALAXY_MOVE_OUTPUT_FILES__' ] = ToolParameter.build( self, ElementTree.XML( '' % self.app.config.data_manager_move_files ) )
- # print 'self.inputs_by_page',self.inputs_by_page
- # self.inputs_by_page[0][ '__GALAXY_MOVE_OUTPUT_FILES__' ] = self.inputs[ '__GALAXY_MOVE_OUTPUT_FILES__' ]
- # print 'self.inputs', self.inputs
- # '''
- # #self.inputs[ '__DATA_MANAGER_ID__' ] = ToolParameter.build( self, ElementTree.XML( '' % ( self.data_manager_id ) ) )
- # #self.inputs_by_page[0][ '__DATA_MANAGER_ID__' ] = self.inputs[ '__DATA_MANAGER_ID__' ]
-
- def exec_after_process( self, app, inp_data, out_data, param_dict, job = None, **kwds ):
- #run original exec_after_process
- super( DataManagerTool, self ).exec_after_process( app, inp_data, out_data, param_dict, job = job, **kwds )
- #process results of tool
- print 'exect after', self.id
- print 'inp_data', inp_data
- print 'out_data', out_data
- print 'param_dict', param_dict
- print 'job', job, job.state
- if job and job.state == job.states.ERROR:
- return
- #print 'data_manager.output_ref',data_manager.output_ref
- #data_manager = self.app.data_managers.get( self.id, None ) #fix me to not only use tool ID!
- data_manager_id = job.data_manager_association.data_manager_id
- data_manager = self.app.data_managers.get( data_manager_id, None )
- #TODO: need to be able to handle using a data manager tool for more than one manager
- #manager id is currently same as tool id
- assert data_manager is not None, "Invalid data manager (%s) requested. It may have been removed before the job completed." % ( data_manager_id )
- data_manager_dicts = {}
- data_manager_dict = {}
- #TODO: fix this merging below
- for output_name, output_dataset in out_data.iteritems():
- try:
- output_dict = simplejson.loads( open( output_dataset.file_name ).read() )
- except Exception, e:
- log.warning( 'Error reading DataManagerTool json for "%s": %s' % ( output_name, e ) )
- continue
- data_manager_dicts[ output_name ] = output_dict
- print 'data_manager_dicts', data_manager_dicts
- for key, value in output_dict.iteritems():
- if key not in data_manager_dict:
- data_manager_dict[ key ] = {}
- print 'key', key
- print ' data_manager_dict[ key ]', data_manager_dict[ key ]
- print 'value', value
- data_manager_dict[ key ].update( value )
- data_manager_dict.update( output_dict )
-
- print 'data_manager_dicts',data_manager_dicts
- print 'data_manager_dict', data_manager_dict
- data_tables_dict = data_manager_dict.get( 'data_tables', {} )
- #for data_table_name, data_table_values in data_tables_dict.iteritems():
- for data_table_name, data_table_columns in data_manager.data_tables.iteritems():
- print 'data_table_name', data_table_name
- data_table_values = data_tables_dict.pop( data_table_name, None ) #data_tables_dict.get( data_table_name, [] )
- if not data_table_values:
- log.warning( 'No values for data table "%s" were returned by the data manager "%s".' % ( data_table_name, data_manager.id ) )
- continue #next data table
- data_table = app.tool_data_tables.get( data_table_name, None )
- if data_table is None:
- log.error( 'The data manager "%s" returned an unknown data table "%s" with new entries "%s". These entries will not be created. Please confirm that an entry for "%s" exists in your "%s" file.' % ( data_manager.id, data_table_name, data_table_values, data_table_name, 'tool_data_table_conf.xml' ) )
- continue #next table name
- output_ref_values = {}
- if data_table_name in data_manager.output_ref_by_data_table:
- for data_table_column, output_ref in data_manager.output_ref_by_data_table[ data_table_name ].iteritems():
- output_ref_dataset = out_data.get( output_ref, None )
- assert output_ref_dataset is not None, "Referenced output was not found."
- output_ref_values[ data_table_column ] = output_ref_dataset
- print 'output_ref_values', output_ref_values
-
- final_data_table_values = []
- if not isinstance( data_table_values, list ):
- data_table_values = [ data_table_values ]
- columns = data_table.get_column_name_list()
-
- try:
- data_table_fh = open( data_table.filename, 'r+b' )
- except IOError, e:
- log.warning( 'Error opening data table file (%s) with r+b, assuming file does not exist and will open as wb: %s' % ( data_table.filename, e ) )
- data_table_fh = open( data_table.filename, 'wb' )
- if os.stat( data_table.filename )[6] != 0:
- # ensure last existing line ends with new line
- data_table_fh.seek( -1, 2 ) #last char in file
- last_char = data_table_fh.read()
- if last_char not in [ '\n', '\r' ]:
- data_table_fh.write( '\n' )
- for data_table_row in data_table_values:
- data_table_value = dict( **data_table_row ) #keep original values here
- for name, value in data_table_row.iteritems(): #FIXME: need to loop through here based upon order listed in data_manager config
- if name in output_ref_values:
- #TODO: Allow moving!
- #if param_dict[ '__GALAXY_MOVE_OUTPUT_FILES__' ]:
- # #FIXME: allow moving
- # log.error( "\n\nShould be moving output files directory, but not implemented yet.\n" )
- # base_path = output_ref_values[ name ].extra_files_path
- #else:
- # base_path = output_ref_values[ name ].extra_files_path
- moved = data_manager.process_move( data_table_name, name, output_ref_values[ name ].extra_files_path, **data_table_value )
- print 'moved', moved #should we always move?
- data_table_value[ name ] = data_manager.process_value_translation( data_table_name, name, **data_table_value )
- final_data_table_values.append( data_table_value )
- fields = []
- for column_name in columns:
- if column_name is None or column_name not in data_table_value:
- fields.append( data_table.get_empty_field_by_name( column_name ) )
- else:
- fields.append( data_table_value[ column_name ] )
- print 'fields', fields
- #should we add a comment to file about automatically generated value here?
- data_table_fh.write( "%s\n" % ( data_table.separator.join( self._replace_field_separators( fields, separator=data_table.separator ) ) ) ) #write out fields to disk
- data_table.data.append( fields ) #add fields to loaded data table
- print 'final_data_table_values', final_data_table_values
- print 'data_table.data', data_table.data
- data_table_fh.close()
- for data_table_name, data_table_values in data_tables_dict.iteritems():
- #tool returned extra data table entries, but data table was not declared in data manager
- #do not add these values, but do provide messages
- log.warning( 'The data manager "%s" returned an undeclared data table "%s" with new entries "%s". These entries will not be created. Please confirm that an entry for "%s" exists in your "%s" file.' % ( data_manager.id, data_table_name, data_table_values, data_table_name, self.app.data_managers.filename ) )
-
- def _replace_field_separators( self, fields, separator="\t", replace=None, comment_char=None ):
- #make sure none of the fields contain separator
- #make sure separator replace is different from comment_char,
- #due to possible leading replace
- if replace is None:
- if separator == " ":
- if comment_char == "\t":
- replace = "_"
- else:
- replace = "\t"
- else:
- if comment_char == " ":
- replace = "_"
- else:
- replace = " "
- return map( lambda x: x.replace( separator, replace ), fields )
-
- def get_default_history_by_trans( self, trans, create=False ):
- def _create_data_manager_history( user ):
- history = trans.app.model.History( name='Data Manager History (automatically created)', user=user )
- data_manager_association = trans.app.model.DataManagerHistoryAssociation( user=user, history=history )
- trans.sa_session.add_all( ( history, data_manager_association ) )
- trans.sa_session.flush()
- return history
- user = trans.user
- assert user, 'You must be logged in to use this tool.'
- history = user.data_manager_histories
- if not history:
- #create
- if create:
- history = _create_data_manager_history( user )
- else:
- history = None
- else:
- for history in reversed( history ):
- history = history.history
- if not history.deleted:
- break
- if history.deleted:
- if create:
- history = _create_data_manager_history( user )
- else:
- history = None
- return history
-
-
# Populate tool_type to ToolClass mappings
tool_types = {}
-for tool_class in [ Tool, DataDestinationTool, SetMetadataTool, DataSourceTool, AsyncDataSourceTool, DataManagerTool ]:
+for tool_class in [ Tool, DataDestinationTool, SetMetadataTool, DataSourceTool, AsyncDataSourceTool ]:
tool_types[ tool_class.tool_type ] = tool_class
# ---- Utility classes to be factored out -----------------------------------
@@ -3207,12 +2983,6 @@ class ToolParameterValueWrapper( object ):
"""
def __nonzero__( self ):
return bool( self.value )
- def get_display_text( self, quote=True ):
- print 'self.input',self.input
- print 'self.input.tool.app', self.input.tool.app
- print 'self.value', self.value
- print 'self.input.value_to_display_text( self.value, self.input.tool.app )', self.input.value_to_display_text( self.value, self.input.tool.app )
- return pipes.quote( self.input.value_to_display_text( self.value, self.input.tool.app ) )
class RawObjectWrapper( ToolParameterValueWrapper ):
"""
diff --git a/lib/galaxy/tools/actions/__init__.py b/lib/galaxy/tools/actions/__init__.py
index 5e6315ec5ec..3f4fa6a7dad 100644
--- a/lib/galaxy/tools/actions/__init__.py
+++ b/lib/galaxy/tools/actions/__init__.py
@@ -168,7 +168,7 @@ class DefaultToolAction( object ):
# Set history.
if not history:
- history = tool.get_default_history_by_trans( trans, create=True ) #trans..history
+ history = trans.history
out_data = odict()
# Collect any input datasets from the incoming parameters
diff --git a/lib/galaxy/tools/data/__init__.py b/lib/galaxy/tools/data/__init__.py
index f3df0c4371d..0d4643f5c8c 100644
--- a/lib/galaxy/tools/data/__init__.py
+++ b/lib/galaxy/tools/data/__init__.py
@@ -28,11 +28,6 @@ class ToolDataTableManager( object ):
return self.data_tables.__getitem__( key )
def __contains__( self, key ):
return self.data_tables.__contains__( key )
- def get( self, name, default=None ):
- try:
- return self[ name ]
- except KeyError:
- return default
def load_from_config_file( self, config_filename, tool_data_path, from_shed_config=False ):
"""
This method is called under 3 conditions:
@@ -130,8 +125,6 @@ class ToolDataTable( object ):
def __init__( self, config_element, tool_data_path ):
self.name = config_element.get( 'name' )
self.comment_char = config_element.get( 'comment_char' )
- self.empty_field_value = config_element.get( 'empty_field_value', '' )
- self.empty_field_values = {}
for file_elem in config_element.findall( 'file' ):
# There should only be one file_elem.
if 'path' in file_elem.attrib:
@@ -141,8 +134,6 @@ class ToolDataTable( object ):
self.tool_data_file = None
self.tool_data_path = tool_data_path
self.missing_index_file = None
- def get_empty_field_by_name( self, name ):
- return self.empty_field_values.get( name, self.empty_field_value )
class TabularToolDataTable( ToolDataTable ):
"""
@@ -185,7 +176,6 @@ class TabularToolDataTable( ToolDataTable ):
if os.path.exists( filename ):
found = True
all_rows.extend( self.parse_file_fields( open( filename ) ) )
- self.filename = filename
else:
# Since the path attribute can include a hard-coded path to a specific directory
# (e.g., ) which may not be the same value
@@ -197,7 +187,6 @@ class TabularToolDataTable( ToolDataTable ):
if os.path.exists( corrected_filename ):
found = True
all_rows.extend( self.parse_file_fields( open( corrected_filename ) ) )
- self.filename = corrected_filename
if not found:
self.missing_index_file = filename
log.warn( "Cannot find index file '%s' for tool data table '%s'" % ( filename, self.name ) )
@@ -233,9 +222,6 @@ class TabularToolDataTable( ToolDataTable ):
self.columns[name] = index
if index > self.largest_index:
self.largest_index = index
- empty_field_value = column_elem.get( 'empty_field_value', None )
- if empty_field_value is not None:
- self.empty_field_values[ name ] = empty_field_value
assert 'value' in self.columns, "Required 'value' column missing from column def"
if 'name' not in self.columns:
self.columns['name'] = self.columns['value']
@@ -254,19 +240,7 @@ class TabularToolDataTable( ToolDataTable ):
fields = line.split( self.separator )
if self.largest_index < len( fields ):
rval.append( fields )
- return rval
- def get_column_name_list( self ):
- rval = []
- for i in range( self.largest_index + 1 ):
- found_column = False
- for name, index in self.columns.iteritems():
- if index == i:
- rval.append( name )
- found_column = True
- break
- if not found_column:
- rval.append( None )
- return rval
+ return rval
# Registry of tool data types by type_key
tool_data_table_types = dict( [ ( cls.type_key, cls ) for cls in [ TabularToolDataTable ] ] )
diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py
index 778beddb80b..8eb77ff50bd 100644
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -880,9 +880,6 @@ class GenomeBuildParameter( SelectToolParameter ):
>>> print p.filter_value( "hg17" )
hg17
"""
- def __init__( self, *args, **kwds ):
- super( GenomeBuildParameter, self ).__init__( *args, **kwds )
- self.static_options = [ ( value, key, False ) for key, value in util.dbnames ]
def get_options( self, trans, other_values ):
if not trans.history:
yield 'unspecified', '?', False
diff --git a/lib/galaxy/util/__init__.py b/lib/galaxy/util/__init__.py
index e0ea0fc19f0..4e36d6b665a 100644
--- a/lib/galaxy/util/__init__.py
+++ b/lib/galaxy/util/__init__.py
@@ -567,22 +567,6 @@ def relpath( path, start = None ):
return curdir
return join( *rel_list )
-def relativize_symlinks( path, start=None, followlinks=False):
- for root, dirs, files in os.walk( path, followlinks=followlinks ):
- rel_start = None
- for file_name in files:
- symlink_file_name = os.path.join( root, file_name )
- if os.path.islink( symlink_file_name ):
- symlink_target = os.readlink( symlink_file_name )
- if rel_start is None:
- if start is None:
- rel_start = root
- else:
- rel_start = start
- rel_path = relpath( symlink_target, rel_start )
- os.remove( symlink_file_name )
- os.symlink( rel_path, symlink_file_name )
-
def stringify_dictionary_keys( in_dict ):
#returns a new dictionary
#changes unicode keys into strings, only works on top level (does not recurse)
diff --git a/lib/galaxy/webapps/community/config.py b/lib/galaxy/webapps/community/config.py
index eb1f06c8711..ae7bebe9893 100644
--- a/lib/galaxy/webapps/community/config.py
+++ b/lib/galaxy/webapps/community/config.py
@@ -92,8 +92,6 @@ class Configuration( object ):
self.job_handlers = []
self.tool_handlers = []
self.tool_runners = []
- # Error logging with sentry
- self.sentry_dsn = kwargs.get( 'sentry_dsn', None )
# Where the tool shed hgweb.config file is stored - the default is the Galaxy installation directory.
self.hgweb_config_dir = resolve_path( kwargs.get( 'hgweb_config_dir', '' ), self.root )
# Proxy features
diff --git a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
index e42a31c06d7..b99b8c82832 100644
--- a/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
+++ b/lib/galaxy/webapps/galaxy/controllers/tool_runner.py
@@ -89,8 +89,7 @@ class ToolRunner( BaseUIController ):
tool.input_translator.translate( params )
# We may be visiting Galaxy for the first time ( e.g., sending data from UCSC ),
# so make sure to create a new history if we've never had one before.
- #history = trans.get_history( create=True )
- history = tool.get_default_history_by_trans( trans, create=True )
+ history = trans.get_history( create=True )
template, vars = tool.handle_input( trans, params.__dict__ )
if len( params ) > 0:
trans.log_event( "Tool params: %s" % ( str( params ) ), tool_id=tool_id )
diff --git a/templates/webapps/galaxy/admin/index.mako b/templates/webapps/galaxy/admin/index.mako
index 4bab8634280..e5a21911764 100644
--- a/templates/webapps/galaxy/admin/index.mako
+++ b/templates/webapps/galaxy/admin/index.mako
@@ -57,10 +57,8 @@
%if trans.app.config.enable_beta_job_managers:
-
+
%endif
- ##how to name this?
-
diff --git a/tools/data_source/upload.xml b/tools/data_source/upload.xml
index ab6e86deec0..a5fbfe147c5 100644
--- a/tools/data_source/upload.xml
+++ b/tools/data_source/upload.xml
@@ -33,7 +33,7 @@
-
+
not ( ( isinstance( value, unicode ) or isinstance( value, str ) ) and value != "" )