diff --git a/modules/contrib/hddtemp.py b/modules/contrib/hddtemp.py index ff09d3b..0a70bf1 100644 --- a/modules/contrib/hddtemp.py +++ b/modules/contrib/hddtemp.py @@ -6,8 +6,8 @@ that runs on localhost and default port (7634) import socket -import bumblebee.engine -import bumblebee.output +import core.module +import core.widget HOST = 'localhost' PORT = 7634 @@ -16,17 +16,15 @@ CHUNK_SIZE = 1024 RECORD_SIZE = 5 SEPARATOR = '|' +class Module(core.module.Module): + def __init__(self, config): + super().__init__(config, core.widget.Widget(self.hddtemps)) + self.__hddtemps = self.__get_hddtemps() -class Module(bumblebee.engine.Module): - def __init__(self, engine, config): - widget = bumblebee.output.Widget(full_text=self.hddtemps) - super(Module, self).__init__(engine, config, widget) - self._hddtemps = self._get_hddtemps() + def hddtemps(self, _): + return self.__hddtemps - def hddtemps(self, __): - return self._hddtemps - - def _fetch_data(self): + def __fetch_data(self): """fetch data from hddtemp service""" try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: @@ -43,7 +41,7 @@ class Module(bumblebee.engine.Module): pass @staticmethod - def _get_parts(data): + def __get_parts(data): """ split data using | separator and remove first item (because the first item is empty) @@ -52,7 +50,7 @@ class Module(bumblebee.engine.Module): return parts @staticmethod - def _partition_parts(parts): + def __partition_parts(parts): """ partition parts: one device record is five (5) items """ @@ -61,7 +59,7 @@ class Module(bumblebee.engine.Module): return per_disk @staticmethod - def _get_name_and_temp(device_record): + def __get_name_and_temp(device_record): """ get device name (without /dev part, to save space on bar) and temperature (in °C) as tuple @@ -71,20 +69,22 @@ class Module(bumblebee.engine.Module): return (device_name, device_temp) @staticmethod - def _get_hddtemp(device_record): + def __get_hddtemp(device_record): name, temp = device_record hddtemp = '{}+{}°C'.format(name, temp) return hddtemp - def _get_hddtemps(self): - data = self._fetch_data() + def __get_hddtemps(self): + data = self.__fetch_data() if data is None: return 'n/a' - parts = self._get_parts(data) - per_disk = self._partition_parts(parts) - names_and_temps = [self._get_name_and_temp(x) for x in per_disk] - hddtemps = [self._get_hddtemp(x) for x in names_and_temps] + parts = self.__get_parts(data) + per_disk = self.__partition_parts(parts) + names_and_temps = [self.__get_name_and_temp(x) for x in per_disk] + hddtemps = [self.__get_hddtemp(x) for x in names_and_temps] return SEPARATOR.join(hddtemps) - def update(self, __): - self._hddtemps = self._get_hddtemps() + def update(self): + self.__hddtemps = self.__get_hddtemps() + +# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4