From fcf8d648d8984858123cc9b33cf67cbcc4db7d33 Mon Sep 17 00:00:00 2001 From: Ryan Riggs Date: Wed, 26 Feb 2020 15:23:00 -0800 Subject: [PATCH] Added modules/libvirtvms.py but no way to unit test. --- bumblebee/modules/libvirtvms.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 bumblebee/modules/libvirtvms.py diff --git a/bumblebee/modules/libvirtvms.py b/bumblebee/modules/libvirtvms.py new file mode 100644 index 0000000..2b09de3 --- /dev/null +++ b/bumblebee/modules/libvirtvms.py @@ -0,0 +1,37 @@ + +"""Displays count of running libvirt VMs. + +Required the following python packages: + * libvirt + * sys + +""" +import sys +import libvirt +import bumblebee.input +import bumblebee.output +import bumblebee.engine + +class Module(bumblebee.engine.Module): + def __init__(self, engine, config): + super(Module, self).__init__(engine, config, + bumblebee.output.Widget(full_text=self.status) + ) + self._status = self.status + engine.input.register_callback(self, button=bumblebee.input.LEFT_MOUSE, + cmd="virt-manager") + + def status(self, _): +"""Get number of currently running libvirt VMs""" + conn = None + try: + conn = libvirt.openReadOnly(None) + except: + return None + if conn == None: + return None + return "VMs: %d" % conn.numOfDomains() + + def update(self, widgets): + self._status = self.status +