From 82b0b238c2823bf365abb7e41781995d1d9c0bc8 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Fri, 15 Sep 2017 13:39:24 +0100 Subject: [PATCH] framework/output: add accessors for metrics and artifacts - Add get_metric methods to Result and Output - Add metrics and artifacts properties to Output --- wa/framework/output.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/wa/framework/output.py b/wa/framework/output.py index 53c9fd3d..a0d03c0a 100644 --- a/wa/framework/output.py +++ b/wa/framework/output.py @@ -49,6 +49,18 @@ class Output(object): def status(self, value): self.result.status = value + @property + def metrics(self): + if self.result is None: + return [] + return self.result.metrics + + @property + def artifacts(self): + if self.result is None: + return [] + return self.result.artifacts + def __init__(self, path): self.basepath = path self.result = None @@ -84,6 +96,9 @@ class Output(object): def add_event(self, message): self.result.add_event(message) + def get_metric(self, name): + return self.result.get_metric(name) + def get_artifact(self, name): return self.result.get_artifact(name) @@ -241,6 +256,12 @@ class Result(object): def add_event(self, message): self.events.append(Event(message)) + def get_metric(self, name): + for metric in self.metrics: + if metric.name == name: + return metric + return None + def get_artifact(self, name): for artifact in self.artifacts: if artifact.name == name: