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.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/glances/plugins/plugin/model.py b/glances/plugins/plugin/model.py
index aa67bcb0..b25c2174 100644
--- a/glances/plugins/plugin/model.py
+++ b/glances/plugins/plugin/model.py
@@ -16,7 +16,7 @@ I am your father...
import re
import copy
-from glances.globals import iterkeys, itervalues, listkeys, mean, nativestr, json_dumps, json_dumps_dictlist
+from glances.globals import iterkeys, itervalues, listkeys, mean, nativestr, json_dumps, json_dumps_dictlist, dictlist
from glances.actions import GlancesActions
from glances.history import GlancesHistory
from glances.logger import logger
@@ -395,6 +395,13 @@ class GlancesPluginModel(object):
"""Return the stats object in JSON format."""
return self.get_stats()
+ def get_raw_stats_item(self, item):
+ """Return the stats object for a specific item in RAW format.
+
+ Stats should be a list of dict (processlist, network...)
+ """
+ return dictlist(self.stats, item)
+
def get_stats_item(self, item):
"""Return the stats object for a specific item in JSON format.
@@ -402,8 +409,8 @@ class GlancesPluginModel(object):
"""
return json_dumps_dictlist(self.stats, item)
- def get_stats_value(self, item, value):
- """Return the stats object for a specific item=value in JSON format.
+ def get_raw_stats_value(self, item, value):
+ """Return the stats object for a specific item=value.
Stats should be a list of dict (processlist, network...)
"""
@@ -413,11 +420,22 @@ class GlancesPluginModel(object):
if not isinstance(value, int) and value.isdigit():
value = int(value)
try:
- return json_dumps({value: [i for i in self.stats if i[item] == value]})
+ return {value: [i for i in self.stats if i[item] == value]}
except (KeyError, ValueError) as e:
logger.error("Cannot get item({})=value({}) ({})".format(item, value, e))
return None
+ def get_stats_value(self, item, value):
+ """Return the stats object for a specific item=value in JSON format.
+
+ Stats should be a list of dict (processlist, network...)
+ """
+ rsv = self.get_raw_stats_value(item, value)
+ if rsv is None:
+ return None
+ else:
+ return json_dumps(rsv)
+
def update_views_hidden(self):
"""Update the hidden views