From: Ondrej Lichtner <olichtne(a)redhat.com>
This method can be used to get the web accessible URL (not REST API url)
of a PerfRepo object. This will be usefull for printing information
about the objects.
Signed-off-by: Ondrej Lichtner <olichtne(a)redhat.com>
---
lnst/Controller/PerfRepo.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/lnst/Controller/PerfRepo.py b/lnst/Controller/PerfRepo.py
index 476ab51..44b6d25 100644
--- a/lnst/Controller/PerfRepo.py
+++ b/lnst/Controller/PerfRepo.py
@@ -27,6 +27,9 @@ class PerfRepoObject(object):
def __init__(self):
pass
+ def get_obj_url(self):
+ return "/"
+
def _set_element_atrib(self, element, name, value):
if value != None:
element.set(name, value)
@@ -69,6 +72,9 @@ class PerfRepoTest(PerfRepoObject):
raise PerfRepoException("Parameter xml must be"\
" a string, an Element or None")
+ def get_obj_url(self):
+ return "/test/%s" % self._id
+
def get_id(self):
return self._id
@@ -165,6 +171,9 @@ class PerfRepoTestExecution(PerfRepoObject):
raise PerfRepoException("Parameter xml must be"\
" a string, an Element or None")
+ def get_obj_url(self):
+ return "/exec/%s" % self._id
+
def set_id(self, id):
self._id = id
@@ -416,6 +425,9 @@ class PerfRepoReport(PerfRepoObject):
def get_baseline(self, index=-1):
return self._baselines[index]
+ def get_obj_url(self):
+ return "/reports/%s/%s" % (self._type.lower(), self._id)
+
class PerfRepoRESTAPI(object):
'''Wrapper class for the REST API provided by PerfRepo'''
def __init__(self, url, user, password):
@@ -428,6 +440,11 @@ class PerfRepoRESTAPI(object):
self._session.stream = True
self._session.headers['Content-Type'] = 'text/xml'
+ def get_obj_url(self, obj):
+ if not isinstance(obj, PerfRepoObject):
+ return ""
+ return self._url + obj.get_obj_url()
+
def test_get_by_id(self, test_id):
get_url = self._url + '/rest/test/id/%s' % test_id
response = self._session.get(get_url)
--
2.5.3