diff --git a/lib/galaxy/jobs/__init__.py b/lib/galaxy/jobs/__init__.py index 2882cf017b5c..004dd45e2f9d 100644 --- a/lib/galaxy/jobs/__init__.py +++ b/lib/galaxy/jobs/__init__.py @@ -1023,6 +1023,7 @@ def external_output_metadata(self): self.job_id, metadata_strategy_override=self.metadata_strategy, tool_id=self.tool.id, + tool_type=self.tool.tool_type, ) return self.__external_output_metadata @@ -1767,7 +1768,7 @@ def fail(message=job.info, exception=None): # the tasks failed. So include the stderr, stdout, and exit code: return fail() - extended_metadata = self.external_output_metadata.extended and not self.tool.tool_type == "interactive" + extended_metadata = self.external_output_metadata.extended # We collect the stderr from tools that write their stderr to galaxy.json tool_provided_metadata = self.get_tool_provided_job_metadata() diff --git a/lib/galaxy/metadata/__init__.py b/lib/galaxy/metadata/__init__.py index 828d0758b1b2..4f7cfb8ef57c 100644 --- a/lib/galaxy/metadata/__init__.py +++ b/lib/galaxy/metadata/__init__.py @@ -37,11 +37,11 @@ """ -def get_metadata_compute_strategy(config, job_id, metadata_strategy_override=None, tool_id=None): +def get_metadata_compute_strategy(config, job_id, metadata_strategy_override=None, tool_id=None, tool_type=None): metadata_strategy = metadata_strategy_override or config.metadata_strategy if metadata_strategy == "legacy": raise Exception("legacy metadata_strategy has been removed") - elif "extended" in metadata_strategy and tool_id != "__SET_METADATA__": + elif "extended" in metadata_strategy and tool_id != "__SET_METADATA__" and tool_type != "interactive": return ExtendedDirectoryMetadataGenerator(job_id) else: return PortableDirectoryMetadataGenerator(job_id)