1
from hwtest.report import Report
4
class PackageReport(Report):
5
"""Report for package related data types."""
7
def register_dumps(self):
8
self._manager.handle_dumps("packages", self.dumps_packages)
10
def register_loads(self):
11
self._manager.handle_loads("packages", self.loads_packages)
13
def dumps_packages(self, obj, parent):
14
for package in [dict(p) for p in obj]:
15
element = self._create_element("package", parent)
16
name = package.pop("name")
17
element.setAttribute("name", str(name))
18
self._manager.call_dumps(package, element)
20
def loads_packages(self, node):
22
for package in (p for p in node.childNodes if p.localName == "package"):
23
value = self._manager.call_loads(package)
24
value["package"] = package.getAttribute("name")
25
packages.append(value)