diff options
Diffstat (limited to 'glances/plugins/uptime/model.py')
-rw-r--r-- | glances/plugins/uptime/model.py | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/glances/plugins/uptime/model.py b/glances/plugins/uptime/model.py deleted file mode 100644 index 9ded30c5..00000000 --- a/glances/plugins/uptime/model.py +++ /dev/null @@ -1,88 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of Glances. -# -# SPDX-FileCopyrightText: 2022 Nicolas Hennion <nicolas@nicolargo.com> -# -# SPDX-License-Identifier: LGPL-3.0-only -# - -"""Uptime plugin.""" - -from datetime import datetime, timedelta - -from glances.plugins.plugin.model import GlancesPluginModel - -import psutil - -# SNMP OID -snmp_oid = {'_uptime': '1.3.6.1.2.1.1.3.0'} - - -class PluginModel(GlancesPluginModel): - """Glances uptime plugin. - - stats is date (string) - """ - - def __init__(self, args=None, config=None): - """Init the plugin.""" - super(PluginModel, self).__init__(args=args, config=config) - - # We want to display the stat in the curse interface - self.display_curse = True - - # Set the message position - self.align = 'right' - - # Init the stats - self.uptime = datetime.now() - datetime.fromtimestamp(psutil.boot_time()) - - def get_export(self): - """Overwrite the default export method. - - Export uptime in seconds. - """ - # Convert the delta time to seconds (with cast) - # Correct issue #1092 (thanks to @IanTAtWork) - return {'seconds': int(self.uptime.total_seconds())} - - @GlancesPluginModel._check_decorator - @GlancesPluginModel._log_result_decorator - def update(self): - """Update uptime stat using the input method.""" - # Init new stats - stats = self.get_init_value() - - if self.input_method == 'local': - # Update stats using the standard system lib - self.uptime = datetime.now() - datetime.fromtimestamp(psutil.boot_time()) - - # Convert uptime to string (because datetime is not JSONifi) - stats = str(self.uptime).split('.')[0] - elif self.input_method == 'snmp': - # Update stats using SNMP - uptime = self.get_stats_snmp(snmp_oid=snmp_oid)['_uptime'] - try: - # In hundredths of seconds - stats = str(timedelta(seconds=int(uptime) / 100)) - except Exception: - pass - - # Update the stats - self.stats = stats - - return self.stats - - def msg_curse(self, args=None, max_width=None): - """Return the string to display in the curse interface.""" - # Init the return message - ret = [] - - # Only process if stats exist and plugin not disabled - if not self.stats or self.is_disabled(): - return ret - - ret = [self.curse_add_line('Uptime: {}'.format(self.stats))] - - return ret |