1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/882f51a4d9dc/
Changeset: 882f51a4d9dc
User: dan
Date: 2014-05-14 18:04:47
Summary: Fix for when hours_between_check is defined in ini.
Affected #: 1 file
diff -r 8b8b08da7231d3ea2bf7ccb6585a20f7e0c64cad -r 882f51a4d9dced2ce731c5b4afa5bed9623933c2 lib/galaxy/config.py
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -108,6 +108,8 @@
self.manage_dependency_relationships = string_as_bool( kwargs.get( 'manage_dependency_relationships', False ) )
self.running_functional_tests = string_as_bool( kwargs.get( 'running_functional_tests', False ) )
self.hours_between_check = kwargs.get( 'hours_between_check', 12 )
+ if isinstance( self.hours_between_check, basestring ):
+ self.hours_between_check = float( self.hours_between_check )
try:
if isinstance( self.hours_between_check, int ):
if self.hours_between_check < 1 or self.hours_between_check > 24:
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.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/8b8b08da7231/
Changeset: 8b8b08da7231
User: dan
Date: 2014-05-14 17:52:20
Summary: Allow for an arbitrary number of tool_data_table_config_path files to be defined in ini file. Values are comma separated.
Affected #: 2 files
diff -r 6b86b4186c455317cba726c7ad6579a030922421 -r 8b8b08da7231d3ea2bf7ccb6585a20f7e0c64cad lib/galaxy/config.py
--- a/lib/galaxy/config.py
+++ b/lib/galaxy/config.py
@@ -102,7 +102,7 @@
self.shed_tool_data_path = resolve_path( self.shed_tool_data_path, self.root )
else:
self.shed_tool_data_path = self.tool_data_path
- self.tool_data_table_config_path = resolve_path( kwargs.get( 'tool_data_table_config_path', 'tool_data_table_conf.xml' ), self.root )
+ self.tool_data_table_config_path = [ resolve_path( x, self.root ) for x in kwargs.get( 'tool_data_table_config_path', 'tool_data_table_conf.xml' ).split( ',' ) ]
self.shed_tool_data_table_config = resolve_path( kwargs.get( 'shed_tool_data_table_config', 'shed_tool_data_table_conf.xml' ), self.root )
self.enable_tool_shed_check = string_as_bool( kwargs.get( 'enable_tool_shed_check', False ) )
self.manage_dependency_relationships = string_as_bool( kwargs.get( 'manage_dependency_relationships', False ) )
diff -r 6b86b4186c455317cba726c7ad6579a030922421 -r 8b8b08da7231d3ea2bf7ccb6585a20f7e0c64cad lib/galaxy/tools/data/__init__.py
--- a/lib/galaxy/tools/data/__init__.py
+++ b/lib/galaxy/tools/data/__init__.py
@@ -56,19 +56,22 @@
3. When a tool shed repository that includes a tool_data_table_conf.xml.sample file is being installed into a local
Galaxy instance. In this case, we have 2 entry types to handle, files whose root tag is <tables>, for example:
"""
- tree = util.parse_xml( config_filename )
- root = tree.getroot()
table_elems = []
- for table_elem in root.findall( 'table' ):
- table = ToolDataTable.from_elem( table_elem, tool_data_path, from_shed_config )
- table_elems.append( table_elem )
- if table.name not in self.data_tables:
- self.data_tables[ table.name ] = table
- log.debug( "Loaded tool data table '%s'", table.name )
- else:
- log.debug( "Loading another instance of data table '%s', attempting to merge content.", table.name )
- self.data_tables[ table.name ].merge_tool_data_table( table, allow_duplicates=False ) #only merge content, do not persist to disk, do not allow duplicate rows when merging
- # FIXME: This does not account for an entry with the same unique build ID, but a different path.
+ if not isinstance( config_filename, list ):
+ config_filename = [ config_filename ]
+ for filename in config_filename:
+ tree = util.parse_xml( filename )
+ root = tree.getroot()
+ for table_elem in root.findall( 'table' ):
+ table = ToolDataTable.from_elem( table_elem, tool_data_path, from_shed_config )
+ table_elems.append( table_elem )
+ if table.name not in self.data_tables:
+ self.data_tables[ table.name ] = table
+ log.debug( "Loaded tool data table '%s'", table.name )
+ else:
+ log.debug( "Loading another instance of data table '%s', attempting to merge content.", table.name )
+ self.data_tables[ table.name ].merge_tool_data_table( table, allow_duplicates=False ) #only merge content, do not persist to disk, do not allow duplicate rows when merging
+ # FIXME: This does not account for an entry with the same unique build ID, but a different path.
return table_elems
def add_new_entries_from_config_file( self, config_filename, tool_data_path, shed_tool_data_table_config, persist=False ):
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.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/e0d69ca8be55/
Changeset: e0d69ca8be55
User: jmchilton
Date: 2014-05-14 00:47:57
Summary: Fix duplicated names in on_text when using multiple data inputs.
Unit tests verifing the fixed, correct behavior included. Bug introduced in e8c84dd715782e7c1d709d8068e6033b835f7f39 as an unintended consequence of duplicating the first dataset in the dictionary of input datasets generated by the tool action code.
Fixes https://trello.com/c/LCEKxImR.
Affected #: 2 files
diff -r c1873e4d23fa2c496990e5bdef83300e929ae40c -r e0d69ca8be55cd8cfd863ad7f128e95a42eabfd3 lib/galaxy/tools/actions/__init__.py
--- a/lib/galaxy/tools/actions/__init__.py
+++ b/lib/galaxy/tools/actions/__init__.py
@@ -472,6 +472,15 @@
def on_text_for_names( input_names ):
+ # input_names may contain duplicates... this is because the first value in
+ # multiple input dataset parameters will appear twice once as param_name
+ # and once as param_name1.
+ unique_names = []
+ for name in input_names:
+ if name not in unique_names:
+ unique_names.append( name )
+ input_names = unique_names
+
# Build name for output datasets based on tool name and input names
if len( input_names ) == 1:
on_text = input_names[0]
diff -r c1873e4d23fa2c496990e5bdef83300e929ae40c -r e0d69ca8be55cd8cfd863ad7f128e95a42eabfd3 test/unit/tools/test_actions.py
--- a/test/unit/tools/test_actions.py
+++ b/test/unit/tools/test_actions.py
@@ -2,6 +2,7 @@
from galaxy import model
from galaxy.tools.actions import DefaultToolAction
+from galaxy.tools.actions import on_text_for_names
import tools_support
@@ -25,6 +26,19 @@
'''
+def test_on_text_for_names():
+ def assert_on_text_is( expected, *names ):
+ on_text = on_text_for_names( names )
+ assert on_text == expected, "Wrong on text value %s, expected %s" % ( on_text, expected )
+
+ assert_on_text_is( "data 1", "data 1" )
+ assert_on_text_is( "data 1 and data 2", "data 1", "data 2" )
+ assert_on_text_is( "data 1, data 2, and data 3", "data 1", "data 2", "data 3" )
+ assert_on_text_is( "data 1, data 2, and others", "data 1", "data 2", "data 3", "data 4" )
+
+ assert_on_text_is( "data 1 and data 2", "data 1", "data 1", "data 2" )
+
+
class DefaultToolActionTestCase( unittest.TestCase, tools_support.UsesApp, tools_support.UsesTools ):
def setUp( self ):
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.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c1873e4d23fa/
Changeset: c1873e4d23fa
User: dannon
Date: 2014-05-13 23:39:55
Summary: Merge from stable.
Affected #: 1 file
diff -r b4680b54994ad6c62f05d354a2af5743344152e8 -r c1873e4d23fa2c496990e5bdef83300e929ae40c lib/galaxy/jobs/runners/drmaa.py
--- a/lib/galaxy/jobs/runners/drmaa.py
+++ b/lib/galaxy/jobs/runners/drmaa.py
@@ -177,10 +177,16 @@
while external_job_id is None and trynum < 5:
try:
external_job_id = self.ds.runJob(jt)
- except drmaa.InternalException, e:
+ break
+ except ( drmaa.InternalException, drmaa.DeniedByDrmException ), e:
trynum += 1
log.warning( '(%s) drmaa.Session.runJob() failed, will retry: %s', galaxy_id_tag, e )
time.sleep( 5 )
+ else:
+ log.error( "(%s) All attempts to submit job failed" % galaxy_id_tag )
+ job_wrapper.fail( "Unable to run this job due to a cluster error, please retry it later" )
+ self.ds.deleteJobTemplate( jt )
+ return
else:
job_wrapper.change_ownership_for_run()
log.debug( '(%s) submitting with credentials: %s [uid: %s]' % ( galaxy_id_tag, job_wrapper.user_system_pwent[0], job_wrapper.user_system_pwent[2] ) )
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.
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/cc0fe62e54dc/
Changeset: cc0fe62e54dc
Branch: stable
User: jmchilton
Date: 2014-05-12 20:32:34
Summary: Fixes for DRMAA submission failures.
Mark job as failed once Galaxy is done attempting to submit the job, catch and retry drmaa.DeniedByDrmException like drmaa.InternalException.
Affected #: 1 file
diff -r 3534f67acd2a4f84899335326ac2cc8bcf05201d -r cc0fe62e54dc59607c26cd9152ef1ea7c85af625 lib/galaxy/jobs/runners/drmaa.py
--- a/lib/galaxy/jobs/runners/drmaa.py
+++ b/lib/galaxy/jobs/runners/drmaa.py
@@ -177,10 +177,16 @@
while external_job_id is None and trynum < 5:
try:
external_job_id = self.ds.runJob(jt)
- except drmaa.InternalException, e:
+ break
+ except ( drmaa.InternalException, drmaa.DeniedByDrmException ), e:
trynum += 1
log.warning( '(%s) drmaa.Session.runJob() failed, will retry: %s', galaxy_id_tag, e )
time.sleep( 5 )
+ else:
+ log.error( "(%s) All attempts to submit job failed" % galaxy_id_tag )
+ job_wrapper.fail( "Unable to run this job due to a cluster error, please retry it later" )
+ self.ds.deleteJobTemplate( jt )
+ return
else:
job_wrapper.change_ownership_for_run()
log.debug( '(%s) submitting with credentials: %s [uid: %s]' % ( galaxy_id_tag, job_wrapper.user_system_pwent[0], job_wrapper.user_system_pwent[2] ) )
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.