mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge stable changes forward.
This commit is contained in:
@@ -35,6 +35,8 @@ JOB_RUNNER_PARAMETER_UNKNOWN_MESSAGE = "Invalid job runner parameter for this pl
|
||||
JOB_RUNNER_PARAMETER_MAP_PROBLEM_MESSAGE = "Job runner parameter '%s' value '%s' could not be converted to the correct type"
|
||||
JOB_RUNNER_PARAMETER_VALIDATION_FAILED_MESSAGE = "Job runner parameter %s failed validation"
|
||||
|
||||
GALAXY_LIB_ADJUST_TEMPLATE = """GALAXY_LIB="%s"; if [ "$GALAXY_LIB" != "None" ]; then if [ -n "$PYTHONPATH" ]; then PYTHONPATH="$GALAXY_LIB:$PYTHONPATH"; else PYTHONPATH="$GALAXY_LIB"; fi; export PYTHONPATH; fi;"""
|
||||
|
||||
|
||||
class RunnerParams( ParamsWithSpecs ):
|
||||
|
||||
@@ -253,11 +255,13 @@ class BaseJobRunner( object ):
|
||||
#this is terminate-able when output dataset/job is deleted
|
||||
#so that long running set_meta()s can be canceled without having to reboot the server
|
||||
if job_wrapper.get_state() not in [ model.Job.states.ERROR, model.Job.states.DELETED ] and job_wrapper.output_paths:
|
||||
lib_adjust = GALAXY_LIB_ADJUST_TEMPLATE % job_wrapper.galaxy_lib_dir
|
||||
external_metadata_script = job_wrapper.setup_external_metadata( output_fnames=job_wrapper.get_output_fnames(),
|
||||
set_extension=True,
|
||||
tmp_dir=job_wrapper.working_directory,
|
||||
#we don't want to overwrite metadata that was copied over in init_meta(), as per established behavior
|
||||
kwds={ 'overwrite' : False } )
|
||||
external_metadata_script = "%s %s" % (lib_adjust, external_metadata_script)
|
||||
if resolve_requirements:
|
||||
dependency_shell_commands = self.app.datatypes_registry.set_external_metadata_tool.build_dependency_shell_commands()
|
||||
if dependency_shell_commands:
|
||||
|
||||
@@ -124,19 +124,7 @@ class TaskedJobRunner( BaseJobRunner ):
|
||||
#run the metadata setting script here
|
||||
#this is terminate-able when output dataset/job is deleted
|
||||
#so that long running set_meta()s can be canceled without having to reboot the server
|
||||
if job_wrapper.get_state() not in [ model.Job.states.ERROR, model.Job.states.DELETED ] and job_wrapper.output_paths:
|
||||
external_metadata_script = job_wrapper.setup_external_metadata( output_fnames=job_wrapper.get_output_fnames(),
|
||||
set_extension=True,
|
||||
kwds={ 'overwrite' : False } ) # we don't want to overwrite metadata that was copied over in init_meta(), as per established behavior
|
||||
log.debug( 'executing external set_meta script for job %d: %s' % ( job_wrapper.job_id, external_metadata_script ) )
|
||||
external_metadata_proc = subprocess.Popen( args=external_metadata_script,
|
||||
shell=True,
|
||||
env=os.environ,
|
||||
preexec_fn=os.setpgrp )
|
||||
job_wrapper.external_output_metadata.set_job_runner_external_pid( external_metadata_proc.pid, self.sa_session )
|
||||
external_metadata_proc.wait()
|
||||
log.debug( 'execution of external set_meta finished for job %d' % job_wrapper.job_id )
|
||||
|
||||
self._handle_metadata_externally(job_wrapper, resolve_requirements=True )
|
||||
# Finish the job
|
||||
try:
|
||||
job_wrapper.finish( stdout, stderr, job_exit_code )
|
||||
|
||||
@@ -2456,7 +2456,8 @@ class Tool( object, Dictifiable ):
|
||||
elif input.type == 'conditional':
|
||||
if 'test_param' in tool_dict:
|
||||
test_param = tool_dict['test_param']
|
||||
test_param['value'] = jsonify(group_state.get(test_param['name'], None))
|
||||
test_param['default_value'] = jsonify(input.test_param.get_initial_value(trans, other_values))
|
||||
test_param['value'] = jsonify(group_state.get(test_param['name'], test_param['default_value']))
|
||||
for i in range (len ( tool_dict['cases'] ) ):
|
||||
current_state = {}
|
||||
if i == group_state.get('__current_case__', None):
|
||||
|
||||
@@ -696,7 +696,7 @@ class BaseURLToolParameter( ToolParameter ):
|
||||
return form_builder.HiddenField( self.name, self.get_value( trans ) )
|
||||
|
||||
def get_initial_value( self, trans, context, history=None ):
|
||||
return self.value
|
||||
return self.get_value( trans )
|
||||
|
||||
def get_label( self ):
|
||||
# BaseURLToolParameters are ultimately "hidden" parameters
|
||||
|
||||
Reference in New Issue
Block a user