Loading lib/galaxy/model/__init__.py +20 −2 Original line number Diff line number Diff line Loading @@ -1484,6 +1484,15 @@ class JobMetricText(BaseJobMetric, RepresentById): metric_name: Mapped[Optional[str]] = mapped_column(Unicode(255)) metric_value: Mapped[Optional[str]] = mapped_column(Unicode(JOB_METRIC_MAX_LENGTH)) def copy_to_job(self, job: "Job"): job.text_metrics.append( JobMetricText( plugin=self.plugin, metric_name=self.metric_name, metric_value=self.metric_value, ) ) class JobMetricNumeric(BaseJobMetric, RepresentById): __tablename__ = "job_metric_numeric" Loading @@ -1494,6 +1503,15 @@ class JobMetricNumeric(BaseJobMetric, RepresentById): metric_name: Mapped[Optional[str]] = mapped_column(Unicode(255)) metric_value: Mapped[Optional[Decimal]] = mapped_column(Numeric(JOB_METRIC_PRECISION, JOB_METRIC_SCALE)) def copy_to_job(self, job: "Job"): job.numeric_metrics.append( JobMetricNumeric( plugin=self.plugin, metric_name=self.metric_name, metric_value=self.metric_value, ) ) class TaskMetricText(BaseJobMetric, RepresentById): __tablename__ = "task_metric_text" Loading Loading @@ -1664,8 +1682,8 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, Serializable): def copy_from_job(self, job: "Job", copy_outputs: bool = False): self.copied_from_job_id = job.id self.numeric_metrics = job.numeric_metrics self.text_metrics = job.text_metrics for metric in job.numeric_metrics + job.text_metrics: metric.copy_to_job(self) self.dependencies = job.dependencies self.state = job.state self.job_stderr = job.job_stderr Loading lib/galaxy_test/api/test_tools.py +1 −0 Original line number Diff line number Diff line Loading @@ -1052,6 +1052,7 @@ class TestToolsApi(ApiTestCase, TestsTools): for output in [outputs_one, outputs_two, outputs_three]: output_id = output["outputs"][0]["id"] dataset_details.append(self._get(f"datasets/{output_id}").json()) assert self._get(f"jobs/{output['jobs'][0]['id']}/metrics").json() filenames = [dd["file_name"] for dd in dataset_details] assert len(filenames) == 3, filenames assert len(set(filenames)) <= 2, filenames Loading Loading
lib/galaxy/model/__init__.py +20 −2 Original line number Diff line number Diff line Loading @@ -1484,6 +1484,15 @@ class JobMetricText(BaseJobMetric, RepresentById): metric_name: Mapped[Optional[str]] = mapped_column(Unicode(255)) metric_value: Mapped[Optional[str]] = mapped_column(Unicode(JOB_METRIC_MAX_LENGTH)) def copy_to_job(self, job: "Job"): job.text_metrics.append( JobMetricText( plugin=self.plugin, metric_name=self.metric_name, metric_value=self.metric_value, ) ) class JobMetricNumeric(BaseJobMetric, RepresentById): __tablename__ = "job_metric_numeric" Loading @@ -1494,6 +1503,15 @@ class JobMetricNumeric(BaseJobMetric, RepresentById): metric_name: Mapped[Optional[str]] = mapped_column(Unicode(255)) metric_value: Mapped[Optional[Decimal]] = mapped_column(Numeric(JOB_METRIC_PRECISION, JOB_METRIC_SCALE)) def copy_to_job(self, job: "Job"): job.numeric_metrics.append( JobMetricNumeric( plugin=self.plugin, metric_name=self.metric_name, metric_value=self.metric_value, ) ) class TaskMetricText(BaseJobMetric, RepresentById): __tablename__ = "task_metric_text" Loading Loading @@ -1664,8 +1682,8 @@ class Job(Base, JobLike, UsesCreateAndUpdateTime, Dictifiable, Serializable): def copy_from_job(self, job: "Job", copy_outputs: bool = False): self.copied_from_job_id = job.id self.numeric_metrics = job.numeric_metrics self.text_metrics = job.text_metrics for metric in job.numeric_metrics + job.text_metrics: metric.copy_to_job(self) self.dependencies = job.dependencies self.state = job.state self.job_stderr = job.job_stderr Loading
lib/galaxy_test/api/test_tools.py +1 −0 Original line number Diff line number Diff line Loading @@ -1052,6 +1052,7 @@ class TestToolsApi(ApiTestCase, TestsTools): for output in [outputs_one, outputs_two, outputs_three]: output_id = output["outputs"][0]["id"] dataset_details.append(self._get(f"datasets/{output_id}").json()) assert self._get(f"jobs/{output['jobs'][0]['id']}/metrics").json() filenames = [dd["file_name"] for dd in dataset_details] assert len(filenames) == 3, filenames assert len(set(filenames)) <= 2, filenames Loading