[modules] Initial module loading framework

Add a very simplistic framework for loading modules that query system
data. The user can provide a list of modules via an argument switch, and
the name of the module is used to look up a Python module that has to
have a class called "Module".

The outer framework (the outputs, in particular) then uses various query
methods of that class to construct a meaningful output.
This commit is contained in:
Tobias Witek 2016-10-30 17:30:09 +01:00
parent c4683f3700
commit 4133ae1907
4 changed files with 53 additions and 9 deletions

View file

@ -1,13 +1,22 @@
import json
class i3bar:
def preamble(self):
def __init__(self):
self._data = []
def start(self):
return json.dumps({ "version": 1 }) + "["
def data(self, data):
return json.dumps(data) + ","
def add(self, obj):
self._data.append({
"full_text": obj.data()
})
def finalize(self):
def get(self):
data = json.dumps(self._data)
self._data = []
return data + ","
def stop(self):
return "]"
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4