From: Ondrej Lichtner olichtne@redhat.com
Pylint complained that iter_key was undefined, this is a mistake caused by copy pasting code from list_to_dot. This patch fixes the issue.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- lnst/Common/Utils.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lnst/Common/Utils.py b/lnst/Common/Utils.py index 727f82a..c2fabd1 100644 --- a/lnst/Common/Utils.py +++ b/lnst/Common/Utils.py @@ -250,7 +250,9 @@ def dict_to_dot(original_dict, prefix=""): elif isinstance(value, tuple): #TODO temporary fix, tuples shouldn't be here if len(value) == 2: - return_list.append((iter_key+'.'+value[0], value[1])) + return_list.append((prefix+key, + "(%s, %s)" % (value[0], + value[1]) )) else: return_list.append((prefix+key, str(value))) return return_list
From: Ondrej Lichtner olichtne@redhat.com
Indenting empty lines doesn't make sense so they should be skipped. This also caused problems with strings that were terminated with a new line - nesting PerfRepo objects were incorrectly formatted when printed.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- lnst/Common/Utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lnst/Common/Utils.py b/lnst/Common/Utils.py index c2fabd1..501c81f 100644 --- a/lnst/Common/Utils.py +++ b/lnst/Common/Utils.py @@ -296,7 +296,10 @@ def is_installed(program): def indent(string, spaces): ret_str = [] for line in string.split('\n'): - ret_str.append(' '*spaces + line) + if line == "": + ret_str.append(line) + else: + ret_str.append(' '*spaces + line) return '\n'.join(ret_str)
class Noop(object):
From: Ondrej Lichtner olichtne@redhat.com
When transforming PerfRepo objects to strings, some values weren't terminated by a newline resulting in ugly formatting. This fixes the issue.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- lnst/Controller/PerfRepo.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/lnst/Controller/PerfRepo.py b/lnst/Controller/PerfRepo.py index c3a91d7..3a913fb 100644 --- a/lnst/Controller/PerfRepo.py +++ b/lnst/Controller/PerfRepo.py @@ -152,11 +152,11 @@ class PerfRepoTest(PerfRepoObject): self._name, self._groupid) ret_str = textwrap.dedent(ret_str) - ret_str += indent(self._description, 4) + ret_str += indent(self._description + "\n", 4) ret_str += "metrics:\n" for metric in self._metrics: - ret_str += indent(str(metric), 4) - ret_str += indent("------------------------", 4) + ret_str += indent(str(metric), 4) + ret_str += indent("------------------------\n", 4) return textwrap.dedent(ret_str)
class PerfRepoTestExecution(PerfRepoObject): @@ -328,11 +328,11 @@ class PerfRepoTestExecution(PerfRepoObject): ret_str = textwrap.dedent(ret_str) ret_str += "parameters:\n" for param in self._parameters: - ret_str += indent("%s = %s" % (param[0], param[1]), 4) + ret_str += indent("%s = %s\n" % (param[0], param[1]), 4) ret_str += "values:\n" for val in self._values: ret_str += indent(str(val), 4) - ret_str += indent("------------------------", 4) + ret_str += indent("------------------------\n", 4) return textwrap.dedent(ret_str)
class PerfRepoValue(PerfRepoObject): @@ -413,7 +413,7 @@ class PerfRepoValue(PerfRepoObject): ret_str = textwrap.dedent(ret_str) ret_str += "parameters:\n" for param in self._parameters: - ret_str += indent("%s = %s" % (param[0], param[1]), 4) + ret_str += indent("%s = %s\n" % (param[0], param[1]), 4) return textwrap.dedent(ret_str)
class PerfRepoMetric(PerfRepoObject): @@ -486,7 +486,7 @@ class PerfRepoMetric(PerfRepoObject): self._name, self._comparator) ret_str = textwrap.dedent(ret_str) - ret_str += indent(self._description, 4) + ret_str += indent(self._description + "\n", 4) return ret_str
class PerfRepoReport(PerfRepoObject):
From: Ondrej Lichtner olichtne@redhat.com
When serializing PerfRepo objects to XML exceptions would be raised because some values weren't transformed to strings. This patch fixes the issues.
Signed-off-by: Ondrej Lichtner olichtne@redhat.com --- lnst/Controller/PerfRepo.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/lnst/Controller/PerfRepo.py b/lnst/Controller/PerfRepo.py index 3a913fb..04791e8 100644 --- a/lnst/Controller/PerfRepo.py +++ b/lnst/Controller/PerfRepo.py @@ -35,7 +35,7 @@ class PerfRepoObject(object):
def _set_element_atrib(self, element, name, value): if value != None: - element.set(name, value) + element.set(str(name), str(value))
def to_xml(self): pass @@ -133,7 +133,7 @@ class PerfRepoTest(PerfRepoObject): self._set_element_atrib(root, 'uid', self._uid) self._set_element_atrib(root, 'groupId', self._groupid) description = ElementTree.SubElement(root, 'description') - description.text = self._description + description.text = str(self._description) metrics = ElementTree.SubElement(root, 'metrics') for metric in self._metrics: metrics.append(metric.to_xml()) @@ -290,7 +290,7 @@ class PerfRepoTestExecution(PerfRepoObject): self._set_element_atrib(root, 'testId', self._testId) self._set_element_atrib(root, 'testUid', self._testUid) comment = ElementTree.SubElement(root, 'comment') - comment.text = self._comment + comment.text = str(self._comment)
parameters = ElementTree.SubElement(root, 'parameters') for param in self._parameters: @@ -395,7 +395,7 @@ class PerfRepoValue(PerfRepoObject): self._set_element_atrib(root, 'metricComparator', self._metricComparator) self._set_element_atrib(root, 'metricName', self._metricName) - self._set_element_atrib(root, 'result', str(self._result)) + self._set_element_atrib(root, 'result', self._result)
parameters = ElementTree.SubElement(root, 'parameters') for param in self._parameters: @@ -471,7 +471,7 @@ class PerfRepoMetric(PerfRepoObject): self._set_element_atrib(root, 'id', self._id) self._set_element_atrib(root, 'name', self._name) description = ElementTree.SubElement(root, 'description') - description.text = self._description + description.text = str(self._description) self._set_element_atrib(root, 'comparator', self._comparator)
return root @@ -807,7 +807,7 @@ class PerfRepoReport(PerfRepoObject): key_elem = ElementTree.SubElement(entry_elem, 'key') value_elem = ElementTree.SubElement(entry_elem, 'value')
- key_elem.text = prop[0] + key_elem.text = str(prop[0]) self._set_element_atrib(value_elem, 'name', prop[0]) self._set_element_atrib(value_elem, 'value', prop[1])
lnst-developers@lists.fedorahosted.org