2016-11-05 07:54:36 +01:00
|
|
|
import os
|
|
|
|
import pkgutil
|
|
|
|
import importlib
|
|
|
|
|
|
|
|
import bumblebee.modules
|
|
|
|
|
|
|
|
def modules():
|
|
|
|
result = []
|
|
|
|
path = os.path.dirname(bumblebee.modules.__file__)
|
|
|
|
for mod in [ name for _, name, _ in pkgutil.iter_modules([path])]:
|
|
|
|
result.append(ModuleDescription(mod))
|
|
|
|
return result
|
|
|
|
|
|
|
|
class ModuleDescription(object):
|
|
|
|
def __init__(self, name):
|
|
|
|
self._name = name
|
|
|
|
self._mod =importlib.import_module("bumblebee.modules.{}".format(name))
|
|
|
|
|
|
|
|
def name(self):
|
|
|
|
return str(self._name)
|
|
|
|
|
|
|
|
def description(self):
|
|
|
|
return getattr(self._mod, "description", self.na)()
|
|
|
|
|
|
|
|
def usage(self):
|
|
|
|
return getattr(self._mod, "usage", self.na)()
|
|
|
|
|
|
|
|
def notes(self):
|
|
|
|
return getattr(self._mod, "notes", self.na)()
|
|
|
|
|
|
|
|
def na(self):
|
|
|
|
return "n/a"
|
2016-10-30 17:56:04 +01:00
|
|
|
|
|
|
|
class Module(object):
|
2016-11-05 08:11:08 +01:00
|
|
|
def __init__(self, output, config):
|
2016-10-31 10:45:15 +01:00
|
|
|
pass
|
2016-10-30 17:56:04 +01:00
|
|
|
|
2016-10-31 07:18:57 +01:00
|
|
|
def data(self):
|
|
|
|
pass
|
|
|
|
|
2016-10-31 11:35:12 +01:00
|
|
|
def critical(self):
|
|
|
|
return False
|
|
|
|
|
|
|
|
def warning(self):
|
|
|
|
return False
|
|
|
|
|
2016-10-31 07:18:57 +01:00
|
|
|
def state(self):
|
|
|
|
return "default"
|
|
|
|
|
2016-10-31 13:03:16 +01:00
|
|
|
def next(self):
|
|
|
|
return False
|
|
|
|
|
2016-10-30 17:56:04 +01:00
|
|
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|