summaryrefslogtreecommitdiff
path: root/facts.d/nspawn_machines.py
diff options
context:
space:
mode:
Diffstat (limited to 'facts.d/nspawn_machines.py')
-rwxr-xr-xfacts.d/nspawn_machines.py71
1 files changed, 0 insertions, 71 deletions
diff --git a/facts.d/nspawn_machines.py b/facts.d/nspawn_machines.py
deleted file mode 100755
index f8fc9a5..0000000
--- a/facts.d/nspawn_machines.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/env python3
-
-import sys
-
-try:
- import dbus
- import yaml
-except ImportError:
- sys.exit(0)
-
-bus = dbus.SystemBus()
-bus_name = 'org.freedesktop.machine1' # dest
-object_path = '/org/freedesktop/machine1'
-try:
- machined_proxy = bus.get_object(bus_name=bus_name, object_path=object_path)
-except:
- sys.exit(1)
-iface = dbus.Interface(machined_proxy, dbus_interface='org.freedesktop.machine1.Manager')
-
-
-machines = iface.ListMachines()
-machine_names = []
-machines_info = {}
-for (machine_name, *_) in machines:
- machine = iface.GetMachine(machine_name)
- pp = bus.get_object(bus_name='org.freedesktop.machine1', object_path=machine)
- ii = dbus.Interface(pp, dbus_interface='org.freedesktop.DBus.Properties')
- out_dict = {}
- for key, value in ii.GetAll('org.freedesktop.machine1.Machine').items():
- # see help(dbus.types)
- t = type(value)
- if t == dbus.ByteArray:
- raise NotImplementedError('Byte array')
- elif t == dbus.Double:
- v = float(value)
- elif t == dbus.Boolean:
- v = bool(value)
- elif t in [ dbus.Byte, dbus.Int16, dbus.Int32, dbus.Int64, dbus.UInt16, dbus.UInt32, dbus.UInt64 ]:
- v = int(value)
- elif t in [ dbus.ObjectPath, dbus.Signature ]:
- # string likes
- v = str(value)
- elif t == dbus.Dictionary:
- # dict like
- raise NotImplementedError('Dictionary')
- elif t == dbus.Array:
- if value.signature == dbus.Signature('y'):
- v = bytes(int(x) for x in value)
- elif value.signature == dbus.Signature('i'):
- v = [int(x) for x in value]
- else:
- print(repr(value))
- print(repr(value.signature))
- raise NotImplementedError('Array')
- # case dbus.UnixFd:
- # raise NotImplementedError()
- elif t == dbus.String:
- v = str(value)
- elif t == dbus.Struct:
- # tuple like
- raise NotImplementedError('Struct')
- out_dict[str(key)] = v
- machine_names.append(str(machine_name))
- machines_info[str(machine_name)] = out_dict
-
-out = {
- 'machined-machines': machine_names,
- 'machined-info': machines_info,
-}
-
-print(yaml.dump(out))