mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Refactor get_metadata_compute_strategy to not depend on `app`.
This allows me to claim galaxy-job-execution doesn't depend on ``app``.
This commit is contained in:
@@ -875,7 +875,7 @@ class JobWrapper(HasResourceParameters):
|
||||
self.output_hdas_and_paths = None
|
||||
self.tool_provided_job_metadata = None
|
||||
# Wrapper holding the info required to restore and clean up from files used for setting metadata externally
|
||||
self.external_output_metadata = get_metadata_compute_strategy(self.app, job.id)
|
||||
self.external_output_metadata = get_metadata_compute_strategy(self.app.config, job.id)
|
||||
self.job_runner_mapper = JobRunnerMapper(self, queue.dispatcher.url_to_destination, self.app.job_config)
|
||||
self.params = None
|
||||
if job.params:
|
||||
|
||||
@@ -20,8 +20,8 @@ log = getLogger(__name__)
|
||||
SET_METADATA_SCRIPT = 'from galaxy_ext.metadata.set_metadata import set_metadata; set_metadata()'
|
||||
|
||||
|
||||
def get_metadata_compute_strategy(app, job_id):
|
||||
metadata_strategy = app.config.metadata_strategy
|
||||
def get_metadata_compute_strategy(config, job_id):
|
||||
metadata_strategy = config.metadata_strategy
|
||||
if metadata_strategy == "legacy":
|
||||
return JobExternalOutputMetadataWrapper(job_id)
|
||||
else:
|
||||
|
||||
@@ -2394,7 +2394,7 @@ class SetMetadataTool(Tool):
|
||||
job, base_dir='job_work', dir_only=True, obj_dir=True
|
||||
)
|
||||
for name, dataset in inp_data.items():
|
||||
external_metadata = get_metadata_compute_strategy(app, job.id)
|
||||
external_metadata = get_metadata_compute_strategy(app.config, job.id)
|
||||
sa_session = app.model.context
|
||||
if external_metadata.external_metadata_set_successfully(dataset, name, sa_session, working_directory=working_directory):
|
||||
external_metadata.load_metadata(dataset, name, sa_session, working_directory=working_directory)
|
||||
|
||||
@@ -78,7 +78,7 @@ class SetMetadataToolAction(ToolAction):
|
||||
job_working_dir = app.object_store.get_filename(job, base_dir='job_work', dir_only=True, extra_dir=str(job.id))
|
||||
datatypes_config = os.path.join(job_working_dir, 'registry.xml')
|
||||
app.datatypes_registry.to_xml_file(path=datatypes_config)
|
||||
external_metadata_wrapper = get_metadata_compute_strategy(app, job.id)
|
||||
external_metadata_wrapper = get_metadata_compute_strategy(app.config, job.id)
|
||||
output_datatasets_dict = {
|
||||
dataset_name: dataset,
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ class MetadataTestCase(unittest.TestCase, tools_support.UsesApp, tools_support.U
|
||||
f.write(contents)
|
||||
|
||||
def metadata_command(self, output_datasets):
|
||||
metadata_compute_strategy = get_metadata_compute_strategy(self.app, self.job.id)
|
||||
metadata_compute_strategy = get_metadata_compute_strategy(self.app.config, self.job.id)
|
||||
self.metadata_compute_strategy = metadata_compute_strategy
|
||||
|
||||
exec_dir = None
|
||||
|
||||
Reference in New Issue
Block a user