Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- virtinst/VirtualDevice.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/virtinst/VirtualDevice.py b/virtinst/VirtualDevice.py index 2fb2b89..bbc32a6 100644 --- a/virtinst/VirtualDevice.py +++ b/virtinst/VirtualDevice.py @@ -1,7 +1,7 @@ # # Base class for all VM devices # -# Copyright 2008 Red Hat, Inc. +# Copyright 2008, 2013 Red Hat, Inc. # Cole Robinson <crobinso@xxxxxxxxxx> # # This program is free software; you can redistribute it and/or modify @@ -267,14 +267,17 @@ class VirtualDeviceAddress(XMLBuilderDomain): if not self.type: return + def format_props(*args): + return "".join([" %s='%s'" % (k, getattr(self, k)) for k in args if getattr(self, k, None) is not None]) + xml = "<address type='%s'" % self.type if self.type == self.ADDRESS_TYPE_PCI: - xml += " domain='%s' bus='%s' slot='%s' function='%s'" % (self.domain, self.bus, self.slot, self.function) + xml += format_props("domain", "bus", "slot", "function") elif self.type == self.ADDRESS_TYPE_DRIVE: - xml += " controller='%s' bus='%s' unit='%s'" % (self.controller, self.bus, self.unit) + xml += format_props("controller", "bus", "unit") elif self.type == self.ADDRESS_TYPE_VIRTIO_SERIAL: - xml += " controller='%s' bus='%s' port='%s'" % (self.controller, self.bus, self.port) + xml += format_props("controller", "bus", "port") elif self.type == self.ADDRESS_TYPE_CCID: - xml += " controller='%s' slot='%s'" % (self.controller, self.slot) + xml += format_props("controller", "slot") xml += "/>" return xml -- 1.8.2.1 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list