[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:
parent
c4683f3700
commit
4133ae1907
4 changed files with 53 additions and 9 deletions
0
bumblebee/modules/__init__.py
Normal file
0
bumblebee/modules/__init__.py
Normal file
7
bumblebee/modules/time.py
Normal file
7
bumblebee/modules/time.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
import datetime
|
||||
|
||||
class Module:
|
||||
def data(self):
|
||||
return datetime.datetime.now().strftime("%x %X")
|
||||
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue