comments inline

2015-09-14 14:05 GMT+02:00 <olichtne@redhat.com>:
From: Ondrej Lichtner <olichtne@redhat.com>

Needed for POST requests to PerfRepo, such as create or update.

Also adding the __str__ method that uses pprint to display the object in
a nice not-XML fashion.

Signed-off-by: Ondrej Lichtner <olichtne@redhat.com>
---
 lnst/Controller/PerfRepo.py | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/lnst/Controller/PerfRepo.py b/lnst/Controller/PerfRepo.py
index 6da8190..f409b04 100644
--- a/lnst/Controller/PerfRepo.py
+++ b/lnst/Controller/PerfRepo.py
@@ -15,11 +15,13 @@ import datetime
 import re
 import logging
 import xml.dom.minidom
+import textwrap
+import pprint
 from types import StringType, NoneType
 from xml.etree import ElementTree
 from xml.etree.ElementTree import Element
 from lnst.Common.Utils import recursive_dict_update
-from lnst.Common.Utils import dot_to_dict
+from lnst.Common.Utils import dot_to_dict, dict_to_dot

 class PerfRepoException(Exception):
     pass
@@ -437,6 +439,40 @@ class PerfRepoReport(PerfRepoObject):
     def get_obj_url(self):
         return "/reports/%s/%s" % (self._type.lower(), self._id)

+    def to_xml(self):
+        root = Element('report')
+        self._set_element_atrib(root, 'id', self._id)
+        self._set_element_atrib(root, 'name', self._name)
+        self._set_element_atrib(root, 'type', self._type)
+        self._set_element_atrib(root, 'user', self._user)

​​Here you use apostrophes​​

+
+        properties = ElementTree.SubElement(root, 'properties') 
+        dot_props = dict_to_dot(self._properties)
+        for prop in dot_props:
+            entry_elem = ElementTree.SubElement(properties, 'entry')
+            key_elem = ElementTree.SubElement(entry_elem, 'key')
+            value_elem = ElementTree.SubElement(entry_elem, 'value')
+
+            key_elem.text = prop[0]
+            self._set_element_atrib(value_elem, "name", prop[0])

​Here you use quotes​
It would look better if this was consistent​

 
+            self._set_element_atrib(value_elem, "value", prop[1])
+
+        return root
+
+    def __str__(self):
+        str_props = pprint.pformat(self._properties)
+        ret_str = """\
+                  id = %s
+                  name = %s
+                  type = %s
+                  properties =
+                  """ % ( self._id,
+                          self._name,
+                          self._type)
+        ret_str = textwrap.dedent(ret_str)
+        ret_str += str_props
+        return textwrap.dedent(ret_str)
+
 class PerfRepoRESTAPI(object):
     '''Wrapper class for the REST API provided by PerfRepo'''
     def __init__(self, url, user, password):
--
2.5.2

_______________________________________________
LNST-developers mailing list
LNST-developers@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/lnst-developers



--
​Best regards,​

Jiri Prochazka 
LNST Developer 
+420 532 294 633 | jprochaz@redhat.com
Red Hat Czech | Purkyňova 71/99, 612 00 Brno