diff --git a/glances/compat.py b/glances/compat.py index 9380960c..b3c97127 100644 --- a/glances/compat.py +++ b/glances/compat.py @@ -43,6 +43,15 @@ if PY3: viewvalues = operator.methodcaller('values') viewitems = operator.methodcaller('items') + def listitems(d): + return list(d.items()) + + def listkeys(d): + return list(d.keys()) + + def listvalues(d): + return list(d.values()) + def iteritems(d): return iter(d.items()) @@ -82,6 +91,15 @@ else: viewvalues = operator.methodcaller('viewvalues') viewitems = operator.methodcaller('viewitems') + def listitems(d): + return d.items() + + def listkeys(d): + return d.keys() + + def listvalues(d): + return d.values() + def iteritems(d): return d.iteritems() diff --git a/glances/plugins/glances_plugin.py b/glances/plugins/glances_plugin.py index b54457a2..d72212d6 100644 --- a/glances/plugins/glances_plugin.py +++ b/glances/plugins/glances_plugin.py @@ -27,7 +27,7 @@ import json from datetime import datetime from operator import itemgetter -from glances.compat import iterkeys, itervalues, map, viewkeys +from glances.compat import iterkeys, itervalues, listkeys, map from glances.actions import GlancesActions from glances.logger import logger from glances.logs import glances_logs @@ -289,7 +289,7 @@ class GlancesPlugin(object): # Stats are stored in a list of dict (ex: NETWORK, FS...) for i in self.get_raw(): ret[i[self.get_key()]] = {} - for key in viewkeys(i): + for key in listkeys(i): value = {'decoration': 'DEFAULT', 'optional': False, 'additional': False, @@ -297,7 +297,7 @@ class GlancesPlugin(object): ret[i[self.get_key()]][key] = value elif isinstance(self.get_raw(), dict) and self.get_raw() is not None: # Stats are stored in a dict (ex: CPU, LOAD...) - for key in viewkeys(self.get_raw()): + for key in listkeys(self.get_raw()): value = {'decoration': 'DEFAULT', 'optional': False, 'additional': False,