bumblebee-status/bumblebee/modules/libvirtvms.py

37 lines
880 B
Python

"""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