diff options
author | nicolargo <nicolas@nicolargo.com> | 2019-08-17 11:21:20 +0200 |
---|---|---|
committer | nicolargo <nicolas@nicolargo.com> | 2019-08-17 11:21:20 +0200 |
commit | f0e8ef44f20db1d8ae77c179f08ff9325a41f946 (patch) | |
tree | e6484c8bd064458cff40494532ea83ef0ae310c9 | |
parent | 504450ca3a6249c336bb43bf08486b854689ce5f (diff) |
Refactor all the way config file is loaded (now by each plugin). Should solve issues #1508.
36 files changed, 89 insertions, 56 deletions
diff --git a/conf/glances.conf b/conf/glances.conf index 87ae7660..07c6f0c7 100644 --- a/conf/glances.conf +++ b/conf/glances.conf @@ -188,15 +188,17 @@ critical=90 #folder_3_path=/nonexisting #folder_4_path=/root +[hddtemp] +# Define hddtemp server IP and port (default is 127.0.0.1 and 7634 (TCP)) +host=127.0.0.1 +port=7634 + [sensors] # Sensors core thresholds (in Celsius...) # Default values if not defined: 60/70/80 temperature_core_careful=60 temperature_core_warning=70 temperature_core_critical=80 -# Define hddtemp server IP and port (default is 127.0.0.1 and 7634 (TCP)) -hddtemp_host=127.0.0.1 -hddtemp_port=7634 # Temperatures threshold in °C for hddtemp # Default values if not defined: 45/52/60 temperature_hdd_careful=45 diff --git a/glances/plugins/glances_alert.py b/glances/plugins/glances_alert.py index 041433a9..1b987b88 100644 --- a/glances/plugins/glances_alert.py +++ b/glances/plugins/glances_alert.py @@ -88,9 +88,10 @@ class Plugin(GlancesPlugin): Only for display. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_amps.py b/glances/plugins/glances_amps.py index 24dc9b6b..2e176ffa 100644 --- a/glances/plugins/glances_amps.py +++ b/glances/plugins/glances_amps.py @@ -30,6 +30,7 @@ class Plugin(GlancesPlugin): def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) self.args = args self.config = config diff --git a/glances/plugins/glances_cloud.py b/glances/plugins/glances_cloud.py index b45c0142..202c62ca 100644 --- a/glances/plugins/glances_cloud.py +++ b/glances/plugins/glances_cloud.py @@ -51,9 +51,9 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_core.py b/glances/plugins/glances_core.py index 511953b2..bf1692e0 100644 --- a/glances/plugins/glances_core.py +++ b/glances/plugins/glances_core.py @@ -32,9 +32,9 @@ class Plugin(GlancesPlugin): stats is integer (number of core) """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We dot not want to display the stat in the curse interface # The core number is displayed by the load plugin diff --git a/glances/plugins/glances_cpu.py b/glances/plugins/glances_cpu.py index b7e98943..dc2f9e23 100644 --- a/glances/plugins/glances_cpu.py +++ b/glances/plugins/glances_cpu.py @@ -59,9 +59,11 @@ class Plugin(GlancesPlugin): percentage. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the CPU plugin.""" - super(Plugin, self).__init__(args=args, items_history_list=items_history_list) + super(Plugin, self).__init__(args=args, + config=config, + items_history_list=items_history_list) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_diskio.py b/glances/plugins/glances_diskio.py index 0635115f..eb339d2d 100644 --- a/glances/plugins/glances_diskio.py +++ b/glances/plugins/glances_diskio.py @@ -42,9 +42,10 @@ class Plugin(GlancesPlugin): stats is a list """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list, stats_init_value=[]) diff --git a/glances/plugins/glances_docker.py b/glances/plugins/glances_docker.py index 3e628788..eaac481c 100644 --- a/glances/plugins/glances_docker.py +++ b/glances/plugins/glances_docker.py @@ -72,9 +72,10 @@ class Plugin(GlancesPlugin): stats is a dict: {'version': {...}, 'containers': [{}, {}]} """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # The plgin can be disable using: args.disable_docker diff --git a/glances/plugins/glances_folders.py b/glances/plugins/glances_folders.py index 014343d6..49f822dc 100644 --- a/glances/plugins/glances_folders.py +++ b/glances/plugins/glances_folders.py @@ -34,6 +34,7 @@ class Plugin(GlancesPlugin): def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) self.args = args self.config = config diff --git a/glances/plugins/glances_fs.py b/glances/plugins/glances_fs.py index 54e8f401..37a125d6 100644 --- a/glances/plugins/glances_fs.py +++ b/glances/plugins/glances_fs.py @@ -70,9 +70,10 @@ class Plugin(GlancesPlugin): stats is a list """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list, stats_init_value=[]) diff --git a/glances/plugins/glances_gpu.py b/glances/plugins/glances_gpu.py index ade03c83..77fd5bac 100644 --- a/glances/plugins/glances_gpu.py +++ b/glances/plugins/glances_gpu.py @@ -48,9 +48,10 @@ class Plugin(GlancesPlugin): stats is a list of dictionaries with one entry per GPU """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # Init the NVidia API diff --git a/glances/plugins/glances_help.py b/glances/plugins/glances_help.py index 9a705469..3bea6c20 100644 --- a/glances/plugins/glances_help.py +++ b/glances/plugins/glances_help.py @@ -32,7 +32,7 @@ class Plugin(GlancesPlugin): def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # Set the config instance self.config = config diff --git a/glances/plugins/glances_ip.py b/glances/plugins/glances_ip.py index 732d5c57..a84c7445 100644 --- a/glances/plugins/glances_ip.py +++ b/glances/plugins/glances_ip.py @@ -53,9 +53,9 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_irq.py b/glances/plugins/glances_irq.py index aa8cd576..243dd61a 100644 --- a/glances/plugins/glances_irq.py +++ b/glances/plugins/glances_irq.py @@ -33,9 +33,10 @@ class Plugin(GlancesPlugin): stats is a list """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_load.py b/glances/plugins/glances_load.py index 62c1475b..69b0bbfd 100644 --- a/glances/plugins/glances_load.py +++ b/glances/plugins/glances_load.py @@ -50,9 +50,10 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_mem.py b/glances/plugins/glances_mem.py index b74dabe2..83108e96 100644 --- a/glances/plugins/glances_mem.py +++ b/glances/plugins/glances_mem.py @@ -59,9 +59,10 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_memswap.py b/glances/plugins/glances_memswap.py index acae5ff0..42c367a8 100644 --- a/glances/plugins/glances_memswap.py +++ b/glances/plugins/glances_memswap.py @@ -47,9 +47,10 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_network.py b/glances/plugins/glances_network.py index 90535355..90b41090 100644 --- a/glances/plugins/glances_network.py +++ b/glances/plugins/glances_network.py @@ -51,9 +51,10 @@ class Plugin(GlancesPlugin): stats is a list """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list, stats_init_value=[]) diff --git a/glances/plugins/glances_now.py b/glances/plugins/glances_now.py index 31d7103e..85f4ece1 100644 --- a/glances/plugins/glances_now.py +++ b/glances/plugins/glances_now.py @@ -31,9 +31,9 @@ class Plugin(GlancesPlugin): stats is (string) """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_percpu.py b/glances/plugins/glances_percpu.py index 9a6cf2be..a00e7f8f 100644 --- a/glances/plugins/glances_percpu.py +++ b/glances/plugins/glances_percpu.py @@ -39,9 +39,10 @@ class Plugin(GlancesPlugin): for each CPU. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list, stats_init_value=[]) diff --git a/glances/plugins/glances_plugin.py b/glances/plugins/glances_plugin.py index 755a300d..84c5cc2f 100644 --- a/glances/plugins/glances_plugin.py +++ b/glances/plugins/glances_plugin.py @@ -41,6 +41,7 @@ class GlancesPlugin(object): def __init__(self, args=None, + config=None, items_history_list=None, stats_init_value={}): """Init the plugin of plugins class. @@ -66,7 +67,8 @@ class GlancesPlugin(object): :stats_init_value: Default value for a stats item """ # Plugin name (= module name without glances_) - self.plugin_name = self.__class__.__module__[len('glances_'):] + pos = self.__class__.__module__.find('glances_') + len('glances') + 1 + self.plugin_name = self.__class__.__module__[pos:] # logger.debug("Init plugin %s" % self.plugin_name) # Init the args @@ -83,8 +85,11 @@ class GlancesPlugin(object): self.items_history_list = items_history_list self.stats_history = self.init_stats_history() - # Init the limits dictionnary + # Init the limits (configuration keys) dictionnary self._limits = dict() + if not self.load_limits(config=config): + logger.debug('Can not load section {} in {}'.format(self.plugin_name, + config)) # Init the actions self.actions = GlancesActions(args=args) diff --git a/glances/plugins/glances_ports.py b/glances/plugins/glances_ports.py index ec92dc2a..b2db43a9 100644 --- a/glances/plugins/glances_ports.py +++ b/glances/plugins/glances_ports.py @@ -48,6 +48,7 @@ class Plugin(GlancesPlugin): def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) self.args = args self.config = config diff --git a/glances/plugins/glances_processcount.py b/glances/plugins/glances_processcount.py index d4488fd1..7ac0ac82 100644 --- a/glances/plugins/glances_processcount.py +++ b/glances/plugins/glances_processcount.py @@ -51,9 +51,10 @@ class Plugin(GlancesPlugin): 'name': 'process name', None: 'None'} - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_processlist.py b/glances/plugins/glances_processlist.py index 701e52ee..ede75415 100644 --- a/glances/plugins/glances_processlist.py +++ b/glances/plugins/glances_processlist.py @@ -91,9 +91,10 @@ class Plugin(GlancesPlugin): 'name': '[{}]' } - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # We want to display the stat in the curse interface diff --git a/glances/plugins/glances_psutilversion.py b/glances/plugins/glances_psutilversion.py index 0d23b1d6..1e1c3465 100644 --- a/glances/plugins/glances_psutilversion.py +++ b/glances/plugins/glances_psutilversion.py @@ -29,9 +29,9 @@ class Plugin(GlancesPlugin): stats is a tuple """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) self.reset() diff --git a/glances/plugins/glances_quicklook.py b/glances/plugins/glances_quicklook.py index 32ec62e8..456ecb12 100644 --- a/glances/plugins/glances_quicklook.py +++ b/glances/plugins/glances_quicklook.py @@ -59,9 +59,10 @@ class Plugin(GlancesPlugin): 'stats' is a dictionary. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the quicklook plugin.""" super(Plugin, self).__init__(args=args, + config=config, items_history_list=items_history_list) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_raid.py b/glances/plugins/glances_raid.py index e5984397..7e5275b2 100644 --- a/glances/plugins/glances_raid.py +++ b/glances/plugins/glances_raid.py @@ -39,9 +39,9 @@ class Plugin(GlancesPlugin): stats is a dict (see pymdstat documentation) """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_sensors.py b/glances/plugins/glances_sensors.py index da2e9137..3fb07cf8 100644 --- a/glances/plugins/glances_sensors.py +++ b/glances/plugins/glances_sensors.py @@ -24,8 +24,8 @@ import warnings from glances.logger import logger from glances.compat import iteritems -from glances.plugins.glances_batpercent import Plugin as BatPercentPlugin -from glances.plugins.glances_hddtemp import Plugin as HddTempPlugin +from glances.plugins.sensors.glances_batpercent import Plugin as BatPercentPlugin +from glances.plugins.sensors.glances_hddtemp import Plugin as HddTempPlugin from glances.plugins.glances_plugin import GlancesPlugin SENSOR_TEMP_UNIT = 'C' @@ -45,9 +45,10 @@ class Plugin(GlancesPlugin): The hard disks are already sorted by name. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # Init the sensor class @@ -55,11 +56,11 @@ class Plugin(GlancesPlugin): # Instance for the HDDTemp Plugin in order to display the hard disks # temperatures - self.hddtemp_plugin = HddTempPlugin(args=args) + self.hddtemp_plugin = HddTempPlugin(args=args, config=config) # Instance for the BatPercent in order to display the batteries # capacities - self.batpercent_plugin = BatPercentPlugin(args=args) + self.batpercent_plugin = BatPercentPlugin(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_smart.py b/glances/plugins/glances_smart.py index 924c9271..f0291cad 100644 --- a/glances/plugins/glances_smart.py +++ b/glances/plugins/glances_smart.py @@ -152,6 +152,7 @@ class Plugin(GlancesPlugin): def __init__(self, args=None, + config=None, stats_init_value=[]): """Init the plugin.""" # check if user is admin @@ -159,7 +160,7 @@ class Plugin(GlancesPlugin): disable(args, "smart") logger.debug("Current user is not admin, HDD SMART plugin disabled.") - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_system.py b/glances/plugins/glances_system.py index 3e704266..ad800e21 100644 --- a/glances/plugins/glances_system.py +++ b/glances/plugins/glances_system.py @@ -83,9 +83,9 @@ class Plugin(GlancesPlugin): stats is a dict """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_uptime.py b/glances/plugins/glances_uptime.py index dcb84652..b820a3d0 100644 --- a/glances/plugins/glances_uptime.py +++ b/glances/plugins/glances_uptime.py @@ -35,9 +35,9 @@ class Plugin(GlancesPlugin): stats is date (string) """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" - super(Plugin, self).__init__(args=args) + super(Plugin, self).__init__(args=args, config=config) # We want to display the stat in the curse interface self.display_curse = True diff --git a/glances/plugins/glances_wifi.py b/glances/plugins/glances_wifi.py index 5928e372..74b55925 100644 --- a/glances/plugins/glances_wifi.py +++ b/glances/plugins/glances_wifi.py @@ -49,9 +49,10 @@ class Plugin(GlancesPlugin): Get stats of the current Wifi hotspots. """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # We want to display the stat in the curse interface diff --git a/glances/plugins/sensors/__init__.py b/glances/plugins/sensors/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/glances/plugins/sensors/__init__.py diff --git a/glances/plugins/glances_batpercent.py b/glances/plugins/sensors/glances_batpercent.py index ce43bc30..a7342e12 100644 --- a/glances/plugins/glances_batpercent.py +++ b/glances/plugins/sensors/glances_batpercent.py @@ -49,9 +49,10 @@ class Plugin(GlancesPlugin): stats is a list """ - def __init__(self, args=None): + def __init__(self, args=None, config=None): """Init the plugin.""" super(Plugin, self).__init__(args=args, + config=config, stats_init_value=[]) # Init the sensor class |