commit/galaxy-central: 2 new changesets
2 new commits in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/changeset/cc2605facf6b/ changeset: cc2605facf6b user: jgoecks date: 2012-03-28 16:58:38 summary: Enable set_metadata tool to take job parameters and use parameters for set_metadata jobs within Trackster. affected #: 2 files diff -r a01497f68018ccc78b2a987b8514bae0e8cf70f1 -r cc2605facf6be23d0a84f81904650042374d398c lib/galaxy/tools/actions/metadata.py --- a/lib/galaxy/tools/actions/metadata.py +++ b/lib/galaxy/tools/actions/metadata.py @@ -1,6 +1,7 @@ from __init__ import ToolAction from galaxy.datatypes.metadata import JobExternalOutputMetadataWrapper from galaxy.util.odict import odict +from galaxy.util.json import to_json_string import logging log = logging.getLogger( __name__ ) @@ -8,7 +9,7 @@ class SetMetadataToolAction( ToolAction ): """Tool action used for setting external metadata on an existing dataset""" - def execute( self, tool, trans, incoming = {}, set_output_hid = False, overwrite = True, history=None ): + def execute( self, tool, trans, incoming = {}, set_output_hid = False, overwrite = True, history=None, job_params=None ): for name, value in incoming.iteritems(): if isinstance( value, trans.app.model.HistoryDatasetAssociation ): dataset = value @@ -30,6 +31,8 @@ job.tool_id = tool.id if trans.user: job.user_id = trans.user.id + if job_params: + job.params = to_json_string( job_params ) start_job_state = job.state #should be job.states.NEW try: # For backward compatibility, some tools may not have versions yet. diff -r a01497f68018ccc78b2a987b8514bae0e8cf70f1 -r cc2605facf6be23d0a84f81904650042374d398c lib/galaxy/web/controllers/tracks.py --- a/lib/galaxy/web/controllers/tracks.py +++ b/lib/galaxy/web/controllers/tracks.py @@ -974,12 +974,15 @@ new_dataset.set_dataset_state( trans.app.model.Dataset.states.OK ) # Set metadata. + # TODO: set meta internally if dataset is small enough? if trans.app.config.set_metadata_externally: - trans.app.datatypes_registry.set_external_metadata_tool.tool_action.execute( trans.app.datatypes_registry.set_external_metadata_tool, trans, incoming = { 'input1':new_dataset }, overwrite=False ) + trans.app.datatypes_registry.set_external_metadata_tool.tool_action.execute( trans.app.datatypes_registry.set_external_metadata_tool, + trans, incoming = { 'input1':new_dataset }, + overwrite=False, job_params={ "source" : "trackster" } ) else: message = 'Attributes updated' new_dataset.set_meta() - new_dataset.datatype.after_setting_metadata( new_dataset ) + new_dataset.datatype.after_setting_metadata( new_dataset ) trans.sa_session.flush() https://bitbucket.org/galaxy/galaxy-central/changeset/15bd01c59c24/ changeset: 15bd01c59c24 user: jgoecks date: 2012-03-28 16:59:03 summary: Merge affected #: 1 file diff -r cc2605facf6be23d0a84f81904650042374d398c -r 15bd01c59c24eae40026470459c5577cba063768 contrib/universe_merger.py --- /dev/null +++ b/contrib/universe_merger.py @@ -0,0 +1,87 @@ +#! /usr/bin/env python +''' +universe_merger.py + +Created by Anne Pajon on 31 Jan 2012 + +Copyright (c) 2012 Cancer Research UK - Cambridge Research Institute. + +This source file is licensed under the Academic Free License version +3.0 available at http://www.opensource.org/licenses/AFL-3.0. + +Permission is hereby granted to reproduce, translate, adapt, alter, +transform, modify, or arrange this source file (the "Original Work"); +to distribute or communicate copies of it under any license of your +choice that does not contradict the terms and conditions; to perform +or display the Original Work publicly. + +THE ORIGINAL WORK IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS +AND WITHOUT WARRANTY, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT +LIMITATION, THE WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF +THE ORIGINAL WORK IS WITH YOU. + +Script for merging specific local Galaxy config universe_wsgi.ini.cri with default Galaxy universe_wsgi.ini.sample +''' +import ConfigParser +import sys +import optparse +import logging + +def main(): + # logging configuration + logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO) + + # get the options + parser = optparse.OptionParser() + parser.add_option("-s", "--sample", dest="sample", action="store", help="path to Galaxy universe_wsgi.ini.sample file") + parser.add_option("-c", "--config", dest="config", action="store", help="path to your own universe_wsgi.ini file") + parser.add_option("-o", "--output", dest="output", action="store", help="path to the new merged universe_wsgi.ini.new file") + (options, args) = parser.parse_args() + + for option in ['sample', 'config']: + if getattr(options, option) == None: + print "Please supply a --%s parameter.\n" % (option) + parser.print_help() + sys.exit() + + config_sample = ConfigParser.RawConfigParser() + config_sample.read(options.sample) + config_sample_content = open(options.sample, 'r').read() + + config = ConfigParser.RawConfigParser() + config.read(options.config) + + logging.info("Merging your own config file %s into the sample one %s." % (options.config, options.sample)) + logging.info("---------- DIFFERENCE ANALYSIS BEGIN ----------") + for section in config.sections(): + if not config_sample.has_section(section): + logging.warning("-MISSING- section [%s] not found in sample file. It will be ignored." % section) + else: + for (name, value) in config.items(section): + if not config_sample.has_option(section, name): + if not "#%s" % name in config_sample_content: + logging.warning("-MISSING- section [%s] option '%s' not found in sample file. It will be ignored." % (section, name)) + else: + logging.info("-notset- section [%s] option '%s' not set in sample file. It will be added." % (section, name)) + config_sample.set(section, name, value) + else: + if not config_sample.get(section, name) == value: + logging.info("- diff - section [%s] option '%s' has different value ('%s':'%s'). It will be modified." % (section, name, config_sample.get(section, name), value)) + config_sample.set(section, name, value) + logging.info("---------- DIFFERENCE ANALYSIS END ----------") + + if options.output: + outputfile = open(options.output, 'w') + config_sample.write(outputfile) + outputfile.close() + else: + #print "----------" + #config_sample.write(sys.stdout) + #print "----------" + logging.info("use -o OUTPUT to write the merged configuration into a file.") + + logging.info("read Galaxy universe_wsgi.ini.sample for detailed information.") + +if __name__ == '__main__': + main() Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.
participants (1)
-
Bitbucket