Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Commit e678d9b

Browse files
committed
Add pretty_name function to NodeDeviceParser classes.
1 parent 075a4bc commit e678d9b

1 file changed

Lines changed: 59 additions & 0 deletions

File tree

virtinst/NodeDeviceParser.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ def __init__(self, node):
4040

4141
self._parseNodeXML(node)
4242

43+
def pretty_name(self):
44+
"""
45+
Use device information to attempt to print a human readable device
46+
name.
47+
48+
@returns Device description string
49+
@rtype C{str}
50+
"""
51+
raise NotImplementedError
4352

4453
def _parseNodeXML(self, node):
4554
child = node.children
@@ -101,6 +110,15 @@ def parseXML(self, node):
101110
self._parseHelper(child, firmware_map)
102111
child = child.next
103112

113+
def pretty_name(self):
114+
desc = _("System")
115+
if self.hw_vendor:
116+
desc += ": %s" % self.hw_vendor
117+
if self.hw_version:
118+
desc += " %s" % self.hw_version
119+
120+
return desc
121+
104122
class NetDevice(NodeDevice):
105123
def __init__(self, node):
106124
NodeDevice.__init__(self, node)
@@ -122,6 +140,13 @@ def parseXML(self, node):
122140
self._parseValueHelper(child, value_map)
123141
child = child.next
124142

143+
def pretty_name(self):
144+
desc = self.name
145+
if self.interface:
146+
desc = _("Interface %s") % self.interface
147+
148+
return desc
149+
125150
class PCIDevice(NodeDevice):
126151
def __init__(self, node):
127152
NodeDevice.__init__(self, node)
@@ -158,6 +183,13 @@ def parseXML(self, node):
158183

159184
child = child.next
160185

186+
def pretty_name(self):
187+
devstr = "%.2X:%.2X:%X" % (int(self.bus),
188+
int(self.slot),
189+
int(self.function))
190+
desc = "%s %s" % (devstr, str(self.product_name))
191+
return desc
192+
161193
class USBDevice(NodeDevice):
162194
def __init__(self, node):
163195
NodeDevice.__init__(self, node)
@@ -189,6 +221,12 @@ def parseXML(self, node):
189221

190222
child = child.next
191223

224+
def pretty_name(self):
225+
devstr = "%.3d:%.3d" % (int(self.bus), int(self.device))
226+
desc = "%s %s %s" % (devstr, str(self.vendor_name),
227+
str(self.product_name))
228+
return desc
229+
192230
class StorageDevice(NodeDevice):
193231
def __init__(self, node):
194232
NodeDevice.__init__(self, node)
@@ -239,6 +277,19 @@ def parseXML(self, node):
239277

240278
child = child.next
241279

280+
def pretty_name(self):
281+
desc = ""
282+
if self.drive_type:
283+
desc = self.drive_type
284+
285+
if self.block:
286+
desc = ": ".join((desc, self.block))
287+
elif self.model:
288+
desc = ": ".join((desc, self.model))
289+
else:
290+
desc = ": ".join((desc, self.name))
291+
return desc
292+
242293
class USBBus(NodeDevice):
243294
def __init__(self, node):
244295
NodeDevice.__init__(self, node)
@@ -257,6 +308,9 @@ def parseXML(self, node):
257308
"protocol" : "protocol" }
258309
self._parseHelper(node, val_map)
259310

311+
def pretty_name(self):
312+
return self.name
313+
260314
class SCSIDevice(NodeDevice):
261315
def __init__(self, node):
262316
NodeDevice.__init__(self, node)
@@ -277,6 +331,9 @@ def parseXML(self, node):
277331
"type" : "type"}
278332
self._parseHelper(node, val_map)
279333

334+
def pretty_name(self):
335+
return self.name
336+
280337
class SCSIBus(NodeDevice):
281338
def __init__(self, node):
282339
NodeDevice.__init__(self, node)
@@ -289,6 +346,8 @@ def parseXML(self, node):
289346
val_map = { "host" : "host" }
290347
self._parseHelper(node, val_map)
291348

349+
def pretty_name(self):
350+
return self.name
292351

293352
def is_nodedev_capable(conn):
294353
"""

0 commit comments

Comments
 (0)