summaryrefslogtreecommitdiffstats
path: root/glances/plugins/plugin/model.py
diff options
context:
space:
mode:
Diffstat (limited to 'glances/plugins/plugin/model.py')
-rw-r--r--glances/plugins/plugin/model.py52
1 files changed, 25 insertions, 27 deletions
diff --git a/glances/plugins/plugin/model.py b/glances/plugins/plugin/model.py
index d6b84e09..8857fd11 100644
--- a/glances/plugins/plugin/model.py
+++ b/glances/plugins/plugin/model.py
@@ -2,7 +2,7 @@
#
# This file is part of Glances.
#
-# SPDX-FileCopyrightText: 2022 Nicolas Hennion <nicolas@nicolargo.com>
+# SPDX-FileCopyrightText: 2024 Nicolas Hennion <nicolas@nicolargo.com>
#
# SPDX-License-Identifier: LGPL-3.0-only
#
@@ -276,7 +276,7 @@ class GlancesPluginModel(object):
if raw_history is None or len(raw_history) < nb:
return None
last_nb = [v[1] for v in raw_history]
- return mean(last_nb[nb // 2:]) - mean(last_nb[:nb // 2])
+ return mean(last_nb[nb // 2 :]) - mean(last_nb[: nb // 2])
@property
def input_method(self):
@@ -350,8 +350,8 @@ class GlancesPluginModel(object):
ret = {}
if bulk:
# Bulk request
- snmp_result = snmp_client.getbulk_by_oid(0, 10, itervalues(*snmp_oid))
-
+ snmp_result = snmp_client.getbulk_by_oid(0, 10, *list(itervalues(snmp_oid)))
+ logger.info(snmp_result)
if len(snmp_oid) == 1:
# Bulk command for only one OID
# Note: key is the item indexed but the OID result
@@ -379,7 +379,7 @@ class GlancesPluginModel(object):
index += 1
else:
# Simple get request
- snmp_result = snmp_client.get_by_oid(itervalues(*snmp_oid))
+ snmp_result = snmp_client.get_by_oid(*list(itervalues(snmp_oid)))
# Build the internal dict with the SNMP result
for key in iterkeys(snmp_oid):
@@ -400,7 +400,7 @@ class GlancesPluginModel(object):
def get_stats(self):
"""Return the stats object in JSON format."""
- return json_dumps(self.stats)
+ return json_dumps(self.get_raw())
def get_json(self):
"""Return the stats object in JSON format."""
@@ -411,14 +411,14 @@ class GlancesPluginModel(object):
Stats should be a list of dict (processlist, network...)
"""
- return dictlist(self.stats, item)
+ return dictlist(self.get_raw(), item)
def get_stats_item(self, item):
"""Return the stats object for a specific item in JSON format.
Stats should be a list of dict (processlist, network...)
"""
- return json_dumps_dictlist(self.stats, item)
+ return json_dumps_dictlist(self.get_raw(), item)
def get_raw_stats_value(self, item, value):
"""Return the stats object for a specific item=value.
@@ -426,13 +426,13 @@ class GlancesPluginModel(object):
Return None if the item=value does not exist
Return None if the item is not a list of dict
"""
- if not isinstance(self.stats, list):
+ if not isinstance(self.get_raw(), list):
return None
else:
if (not isinstance(value, int) and not isinstance(value, float)) and value.isdigit():
value = int(value)
try:
- return {value: [i for i in self.stats if i[item] == value]}
+ return {value: [i for i in self.get_raw() if i[item] == value]}
except (KeyError, ValueError) as e:
logger.error("Cannot get item({})=value({}) ({})".format(item, value, e))
return None
@@ -521,11 +521,13 @@ class GlancesPluginModel(object):
'additional': False,
'splittable': False,
'hidden': False,
- '_zero': self.views[i[self.get_key()]][key]['_zero']
- if i[self.get_key()] in self.views
- and key in self.views[i[self.get_key()]]
- and 'zero' in self.views[i[self.get_key()]][key]
- else True,
+ '_zero': (
+ self.views[i[self.get_key()]][key]['_zero']
+ if i[self.get_key()] in self.views
+ and key in self.views[i[self.get_key()]]
+ and 'zero' in self.views[i[self.get_key()]][key]
+ else True
+ ),
}
ret[i[self.get_key()]][key] = value
elif isinstance(self.get_raw(), dict) and self.get_raw() is not None:
@@ -623,7 +625,7 @@ class GlancesPluginModel(object):
"""Return the plugin refresh time"""
ret = self.get_limits(item='refresh')
if ret is None:
- ret = self.args.time
+ ret = self.args.time if hasattr(self.args, 'time') else 2
return ret
def get_refresh_time(self):
@@ -908,7 +910,7 @@ class GlancesPluginModel(object):
def read_alias(self):
if self.plugin_name + '_' + 'alias' in self._limits:
- return {i.split(':')[0]: i.split(':')[1] for i in self._limits[self.plugin_name + '_' + 'alias'][0].split(',')}
+ return {i.split(':')[0].lower(): i.split(':')[1] for i in self._limits[self.plugin_name + '_' + 'alias']}
else:
return dict()
@@ -1037,9 +1039,9 @@ class GlancesPluginModel(object):
# Is it a rate ? Yes, get the pre-computed rate value
if (
- key in self.fields_description and
- 'rate' in self.fields_description[key] and
- self.fields_description[key]['rate'] is True
+ key in self.fields_description
+ and 'rate' in self.fields_description[key]
+ and self.fields_description[key]['rate'] is True
):
value = self.stats.get(key + '_rate_per_sec', None)
else:
@@ -1062,12 +1064,8 @@ class GlancesPluginModel(object):
elif unit_type == 'float':
msg_value = msg_template_float.format(value, unit_short)
elif 'min_symbol' in self.fields_description[key]:
- msg_value = (
- msg_template.format(
- self.auto_unit(int(value),
- min_symbol=self.fields_description[key]['min_symbol']),
- unit_short
- )
+ msg_value = msg_template.format(
+ self.auto_unit(int(value), min_symbol=self.fields_description[key]['min_symbol']), unit_short
)
else:
msg_value = msg_template.format(int(value), unit_short)
@@ -1117,7 +1115,7 @@ class GlancesPluginModel(object):
return none_symbol
symbols = ('K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y')
if min_symbol in symbols:
- symbols = symbols[symbols.index(min_symbol):]
+ symbols = symbols[symbols.index(min_symbol) :]
prefix = {
'Y': 1208925819614629174706176,
'Z': 1180591620717411303424,