bumblebee-status/bumblebee/modules/datetime.py
Tobi-wan Kenobi 252260c249 [modules/datetime] Use parameter functionality to get format
Make the format string of the datetime module configurable using the new
parameter() method in the module.

Also, restructured the setting of the config information a bit so that
the parameter() method can be used in the constructor of a module.

see #23
2016-12-09 08:23:53 +01:00

28 lines
826 B
Python

# pylint: disable=C0111,R0903
"""Displays the current time, using the optional format string as input for strftime."""
from __future__ import absolute_import
import datetime
import bumblebee.engine
def default_format(module):
default = "%x %X"
if module == "date":
default = "%x"
if module == "time":
default = "%X"
return default
class Module(bumblebee.engine.Module):
def __init__(self, engine, config):
super(Module, self).__init__(engine, config,
bumblebee.output.Widget(full_text=self.get_time)
)
module = self.__module__.split(".")[-1]
self._fmt = self.parameter("format", default_format(module))
def get_time(self):
return datetime.datetime.now().strftime(self._fmt)
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4