blob: afd3e7cfc45f1146df4c7f6df39fcd74b5c9e6ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/python
import gi
gi.require_version('Libosinfo', '1.0')
from gi.repository import Libosinfo as osinfo;
loader = osinfo.Loader()
loader.process_path("./")
db = loader.get_db()
devs = db.get_device_list()
print "All device IDs"
for dev in devs.get_elements():
print (" Device " + dev.get_id())
names = db.unique_values_for_property_in_device("name")
print "All device names"
for name in names:
print (" Name " + name)
osnames = db.unique_values_for_property_in_os("short-id")
osnames.sort()
print "All OS short IDs"
for name in osnames:
print (" OS short id " + name)
hvnames = db.unique_values_for_property_in_platform("short-id")
hvnames.sort()
print "All HV short IDs"
for name in hvnames:
print (" HV short id " + name)
osid = "http://fedoraproject.org/fedora-11"
hvid = "http://qemu.org/qemu-kvm-0.11.0"
drvclass = "net"
#drvclass = "audio"
os = db.get_os(osid)
hv = db.get_platform(hvid)
dep = db.find_deployment(os, hv)
fltr = osinfo.Filter()
fltr.add_constraint("class", drvclass)
link = dep.get_preferred_device_link(osinfo.DeviceLinkFilter(target_filter = fltr))
dev = link.get_target()
animals = os.get_param_value_list("x-animal")
zoo = str.join(",", animals)
print ("For OS '" + os.get_name() + "' " +
"fruit '" + os.get_param_value("x-fruit") + "' " +
"zoo '" + zoo + "' " +
"with HV '" + hv.get_name() + "' " +
"for class '" + drvclass + "' " +
"use device '" + dev.get_name() + "' " +
"with HV driver '" + link.get_driver() + "'")
|