diff options
Diffstat (limited to 'src/collectors/python.d.plugin/hddtemp/hddtemp.chart.py')
-rw-r--r-- | src/collectors/python.d.plugin/hddtemp/hddtemp.chart.py | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/src/collectors/python.d.plugin/hddtemp/hddtemp.chart.py b/src/collectors/python.d.plugin/hddtemp/hddtemp.chart.py deleted file mode 100644 index 6427aa1804..0000000000 --- a/src/collectors/python.d.plugin/hddtemp/hddtemp.chart.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- -# Description: hddtemp netdata python.d module -# Author: Pawel Krupa (paulfantom) -# Author: Ilya Mashchenko (ilyam8) -# SPDX-License-Identifier: GPL-3.0-or-later - - -import re -from copy import deepcopy - -from bases.FrameworkServices.SocketService import SocketService - -ORDER = [ - 'temperatures', -] - -CHARTS = { - 'temperatures': { - 'options': ['disks_temp', 'Disks Temperatures', 'Celsius', 'temperatures', 'hddtemp.temperatures', 'line'], - 'lines': [ - # lines are created dynamically in `check()` method - ]}} - -RE = re.compile(r'\/dev\/([^|]+)\|([^|]+)\|([0-9]+|SLP|UNK)\|') - - -class Disk: - def __init__(self, id_, name, temp): - self.id = id_.split('/')[-1] - self.name = name.replace(' ', '_') - self.temp = temp if temp.isdigit() else None - - def __repr__(self): - return self.id - - -class Service(SocketService): - def __init__(self, configuration=None, name=None): - SocketService.__init__(self, configuration=configuration, name=name) - self.order = ORDER - self.definitions = deepcopy(CHARTS) - self.do_only = self.configuration.get('devices') - self._keep_alive = False - self.request = "" - self.host = "127.0.0.1" - self.port = 7634 - - def get_disks(self): - r = self._get_raw_data() - - if not r: - return None - - m = RE.findall(r) - - if not m: - self.error("received data doesn't have needed records") - return None - - rv = [Disk(*d) for d in m] - self.debug('available disks: {0}'.format(rv)) - - if self.do_only: - return [v for v in rv if v.id in self.do_only] - return rv - - def get_data(self): - """ - Get data from TCP/IP socket - :return: dict - """ - - disks = self.get_disks() - - if not disks: - return None - - return dict((d.id, d.temp) for d in disks) - - def check(self): - """ - Parse configuration, check if hddtemp is available, and dynamically create chart lines data - :return: boolean - """ - self._parse_config() - disks = self.get_disks() - - if not disks: - return False - - for d in disks: - dim = [d.id] - self.definitions['temperatures']['lines'].append(dim) - - return True - - @staticmethod - def _check_raw_data(data): - return not bool(data) |