diff options
author | akhilbatra898 <akhil.batra@research.iiit.ac.in> | 2017-03-10 15:35:04 +0530 |
---|---|---|
committer | zhihui wu <zhihui.wu2006+zte@gmail.com> | 2017-03-11 02:43:21 +0000 |
commit | 8d56e59c70f15897e366a0dbddefda43107b61c6 (patch) | |
tree | e76f22cfb9dc4b0be373fd5cabb9e73e7fdc9ac1 /qtip/api/controllers/metric.py | |
parent | c5f64d5114be98cbe6a74c2078b22b741ae984a4 (diff) |
Implement Retrieval of plans, QPIs, and metrics
- All specs can be listed
- All specs can be individually retrieved
- API can be installed alongside qtip
- API can be hosted using command `qtip-api`
JIRA: QTIP-221
JIRA: QTIP-222
Change-Id: I1e80e6609cae1252cb2fcdc38c71b4bf6d02e8c9
Signed-off-by: akhilbatra898 <akhil.batra@research.iiit.ac.in>
(cherry picked from commit 15fceada86ad0d5dabe26365451aae9c95b36be1)
Diffstat (limited to 'qtip/api/controllers/metric.py')
-rw-r--r-- | qtip/api/controllers/metric.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/qtip/api/controllers/metric.py b/qtip/api/controllers/metric.py index a026b5fc..86bf70f9 100644 --- a/qtip/api/controllers/metric.py +++ b/qtip/api/controllers/metric.py @@ -7,17 +7,26 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -import connexion import httplib +import connexion + +from qtip.base import error +from qtip.loader import metric + def list_metrics(): - return connexion.problem(httplib.NOT_IMPLEMENTED, - 'List metrics', - 'Metrics listing not implemented') + metric_list = list(metric.MetricSpec.list_all()) + return metric_list, httplib.OK def get_metric(name): - return connexion.problem(httplib.NOT_IMPLEMENTED, - 'Get a metric', - 'metric retrieval not implemented') + try: + metric_spec = metric.MetricSpec(name) + return {'name': metric_spec.name, + 'abspath': metric_spec.abspath, + 'content': metric_spec.content}, httplib.OK + except error.NotFoundError: + return connexion.problem(httplib.NOT_FOUND, + 'Metric Not Found', + 'Requested metric `' + name + '` not found.') |