~bladernr/checkbox/1095713-set-pipefail-on-sleep-jobs

« back to all changes in this revision

Viewing changes to hwtest/reports/package.py

  • Committer: Marc Tardif
  • Date: 2007-11-01 17:09:53 UTC
  • mfrom: (44.1.50 bug-152956)
  • Revision ID: marc.tardif@canonical.com-20071101170953-xhwsegkpj90y3f37
Added report dumping and loading functionality to fix bug #152956.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
from hwtest.report import Report
 
2
 
 
3
 
 
4
class PackageReport(Report):
 
5
    """Report for package related data types."""
 
6
 
 
7
    def register_dumps(self):
 
8
        self._manager.handle_dumps("packages", self.dumps_packages)
 
9
 
 
10
    def register_loads(self):
 
11
        self._manager.handle_loads("packages", self.loads_packages)
 
12
 
 
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)
 
19
 
 
20
    def loads_packages(self, node):
 
21
        packages = []
 
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)
 
26
        return packages