diff --git a/docs/conf.py b/docs/conf.py index 0a4594b3..5cdfc920 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,8 +12,8 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os +import sys from datetime import datetime # If extensions (or modules to document with autodoc) are in another directory, @@ -27,7 +27,6 @@ sys.path.insert(0, os.path.abspath('..')) # WARNING: Do not move this import before the sys.path.insert() call. from glances import __version__ - # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. diff --git a/glances/__init__.py b/glances/__init__.py index a8d3ce28..a96d0a06 100644 --- a/glances/__init__.py +++ b/glances/__init__.py @@ -11,11 +11,11 @@ """Init the Glances software.""" # Import system libs -import tracemalloc import locale import platform import signal import sys +import tracemalloc # Global name # Version should start and end with a numerical char diff --git a/glances/actions.py b/glances/actions.py index f61475cb..192749b2 100644 --- a/glances/actions.py +++ b/glances/actions.py @@ -10,8 +10,8 @@ """Manage on alert actions.""" from glances.logger import logger -from glances.timer import Timer from glances.secure import secure_popen +from glances.timer import Timer try: import chevron diff --git a/glances/amps/amp.py b/glances/amps/amp.py index 373d75a4..b34063af 100644 --- a/glances/amps/amp.py +++ b/glances/amps/amp.py @@ -23,8 +23,8 @@ If the *one_line* var is true then the AMP will be displayed in one line. """ from glances.globals import u -from glances.timer import Timer from glances.logger import logger +from glances.timer import Timer class GlancesAmp(object): diff --git a/glances/amps/default/__init__.py b/glances/amps/default/__init__.py index 886f0c8a..444ce053 100644 --- a/glances/amps/default/__init__.py +++ b/glances/amps/default/__init__.py @@ -25,11 +25,11 @@ one_line=false command=foo status """ -from subprocess import check_output, STDOUT, CalledProcessError +from subprocess import STDOUT, CalledProcessError, check_output -from glances.globals import u, to_ascii -from glances.logger import logger from glances.amps.amp import GlancesAmp +from glances.globals import to_ascii, u +from glances.logger import logger class Amp(GlancesAmp): diff --git a/glances/amps/nginx/__init__.py b/glances/amps/nginx/__init__.py index 770c4aca..e8ecb829 100644 --- a/glances/amps/nginx/__init__.py +++ b/glances/amps/nginx/__init__.py @@ -46,8 +46,8 @@ status_url=http://localhost/nginx_status import requests -from glances.logger import logger from glances.amps.amp import GlancesAmp +from glances.logger import logger class Amp(GlancesAmp): diff --git a/glances/amps/systemd/__init__.py b/glances/amps/systemd/__init__.py index 3df7a8ae..f1b8013f 100644 --- a/glances/amps/systemd/__init__.py +++ b/glances/amps/systemd/__init__.py @@ -35,11 +35,11 @@ one_line=true systemctl_cmd=/usr/bin/systemctl --plain """ -from subprocess import check_output, CalledProcessError +from subprocess import CalledProcessError, check_output -from glances.logger import logger -from glances.globals import iteritems, to_ascii from glances.amps.amp import GlancesAmp +from glances.globals import iteritems, to_ascii +from glances.logger import logger class Amp(GlancesAmp): diff --git a/glances/amps/systemv/__init__.py b/glances/amps/systemv/__init__.py index 78df6795..ce5676a1 100644 --- a/glances/amps/systemv/__init__.py +++ b/glances/amps/systemv/__init__.py @@ -34,11 +34,11 @@ one_line=true service_cmd=/usr/bin/service --status-all """ -from subprocess import check_output, STDOUT +from subprocess import STDOUT, check_output -from glances.logger import logger -from glances.globals import iteritems from glances.amps.amp import GlancesAmp +from glances.globals import iteritems +from glances.logger import logger class Amp(GlancesAmp): diff --git a/glances/amps_list.py b/glances/amps_list.py index 5e8c3c13..9feccb5f 100644 --- a/glances/amps_list.py +++ b/glances/amps_list.py @@ -13,7 +13,7 @@ import os import re import threading -from glances.globals import listkeys, iteritems, amps_path +from glances.globals import amps_path, iteritems, listkeys from glances.logger import logger from glances.processes import glances_processes diff --git a/glances/autodiscover.py b/glances/autodiscover.py index f4b0e21a..336af140 100644 --- a/glances/autodiscover.py +++ b/glances/autodiscover.py @@ -16,7 +16,8 @@ from glances.globals import BSD from glances.logger import logger try: - from zeroconf import __version__ as __zeroconf_version, ServiceBrowser, ServiceInfo, Zeroconf + from zeroconf import ServiceBrowser, ServiceInfo, Zeroconf + from zeroconf import __version__ as __zeroconf_version zeroconf_tag = True except ImportError: diff --git a/glances/client.py b/glances/client.py index 6b8d4033..1412d1e1 100644 --- a/glances/client.py +++ b/glances/client.py @@ -9,16 +9,17 @@ """Manage the Glances client.""" -import ujson import socket import sys import time +import ujson + from glances import __version__ from glances.globals import Fault, ProtocolError, ServerProxy, Transport from glances.logger import logger -from glances.stats_client import GlancesStatsClient from glances.outputs.glances_curses import GlancesCursesClient +from glances.stats_client import GlancesStatsClient from glances.timer import Counter diff --git a/glances/client_browser.py b/glances/client_browser.py index 7513664e..c8ba9a8a 100644 --- a/glances/client_browser.py +++ b/glances/client_browser.py @@ -9,17 +9,18 @@ """Manage the Glances client browser (list of Glances server).""" -import ujson import socket import threading -from glances.globals import Fault, ProtocolError, ServerProxy +import ujson + +from glances.autodiscover import GlancesAutoDiscoverServer from glances.client import GlancesClient, GlancesClientTransport -from glances.logger import logger, LOG_FILENAME +from glances.globals import Fault, ProtocolError, ServerProxy +from glances.logger import LOG_FILENAME, logger +from glances.outputs.glances_curses_browser import GlancesCursesBrowser from glances.password_list import GlancesPasswordList as GlancesPassword from glances.static_list import GlancesStaticServer -from glances.autodiscover import GlancesAutoDiscoverServer -from glances.outputs.glances_curses_browser import GlancesCursesBrowser class GlancesClientBrowser(object): diff --git a/glances/config.py b/glances/config.py index abd1f5c1..8f263296 100644 --- a/glances/config.py +++ b/glances/config.py @@ -9,13 +9,13 @@ """Manage the configuration file.""" -import os -import sys import multiprocessing -from io import open +import os import re +import sys +from io import open -from glances.globals import ConfigParser, NoOptionError, NoSectionError, system_exec, BSD, LINUX, MACOS, SUNOS, WINDOWS +from glances.globals import BSD, LINUX, MACOS, SUNOS, WINDOWS, ConfigParser, NoOptionError, NoSectionError, system_exec from glances.logger import logger diff --git a/glances/cpu_percent.py b/glances/cpu_percent.py index 78950d0a..f978f863 100644 --- a/glances/cpu_percent.py +++ b/glances/cpu_percent.py @@ -9,11 +9,11 @@ """CPU percent stats shared between CPU and Quicklook plugins.""" +import psutil + from glances.logger import logger from glances.timer import Timer -import psutil - class CpuPercent(object): """Get and store the CPU percent.""" diff --git a/glances/events_list.py b/glances/events_list.py index 04f6459d..b50ec83f 100644 --- a/glances/events_list.py +++ b/glances/events_list.py @@ -10,12 +10,12 @@ """Manage Glances events list (previously Glances logs in Glances < 3.1).""" import time -from datetime import datetime from dataclasses import asdict +from datetime import datetime +from glances.event import GlancesEvent from glances.processes import glances_processes from glances.thresholds import glances_thresholds -from glances.event import GlancesEvent # Static decision tree for the global alert message # - msg: Message to be displayed (result of the decision tree) diff --git a/glances/exports/export.py b/glances/exports/export.py index 12f8d8b0..4b57a122 100644 --- a/glances/exports/export.py +++ b/glances/exports/export.py @@ -13,10 +13,9 @@ I am your father... ...for all Glances exports IF. """ -from glances.globals import json_dumps -from glances.globals import NoOptionError, NoSectionError, iteritems, iterkeys -from glances.timer import Counter +from glances.globals import NoOptionError, NoSectionError, iteritems, iterkeys, json_dumps from glances.logger import logger +from glances.timer import Counter class GlancesExport(object): diff --git a/glances/exports/glances_cassandra/__init__.py b/glances/exports/glances_cassandra/__init__.py index 0d993ab2..75f591b7 100644 --- a/glances/exports/glances_cassandra/__init__.py +++ b/glances/exports/glances_cassandra/__init__.py @@ -13,13 +13,13 @@ import sys from datetime import datetime from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - +from cassandra import InvalidRequest from cassandra.auth import PlainTextAuthProvider from cassandra.cluster import Cluster from cassandra.util import uuid_from_time -from cassandra import InvalidRequest + +from glances.exports.export import GlancesExport +from glances.logger import logger class Export(GlancesExport): diff --git a/glances/exports/glances_couchdb/__init__.py b/glances/exports/glances_couchdb/__init__.py index d54e0621..02fd62f6 100644 --- a/glances/exports/glances_couchdb/__init__.py +++ b/glances/exports/glances_couchdb/__init__.py @@ -20,11 +20,11 @@ import sys from datetime import datetime -from glances.logger import logger -from glances.exports.export import GlancesExport - import pycouchdb +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the CouchDB export module.""" diff --git a/glances/exports/glances_csv/__init__.py b/glances/exports/glances_csv/__init__.py index d032680b..a881bdb0 100644 --- a/glances/exports/glances_csv/__init__.py +++ b/glances/exports/glances_csv/__init__.py @@ -9,13 +9,13 @@ """CSV interface class.""" -import os.path import csv +import os.path import sys import time -from glances.logger import logger from glances.exports.export import GlancesExport +from glances.logger import logger class Export(GlancesExport): diff --git a/glances/exports/glances_elasticsearch/__init__.py b/glances/exports/glances_elasticsearch/__init__.py index 447c1281..2ab17074 100644 --- a/glances/exports/glances_elasticsearch/__init__.py +++ b/glances/exports/glances_elasticsearch/__init__.py @@ -12,11 +12,11 @@ import sys from datetime import datetime -from glances.logger import logger -from glances.exports.export import GlancesExport - from elasticsearch import Elasticsearch, helpers +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the ElasticSearch (ES) export module.""" diff --git a/glances/exports/glances_graph/__init__.py b/glances/exports/glances_graph/__init__.py index 87fac2e9..753f2e18 100644 --- a/glances/exports/glances_graph/__init__.py +++ b/glances/exports/glances_graph/__init__.py @@ -9,17 +9,18 @@ """Graph exporter interface class.""" -from pygal import DateTimeLine -import pygal.style -import sys -import os -import tempfile import errno +import os +import sys +import tempfile +import pygal.style +from pygal import DateTimeLine + +from glances.exports.export import GlancesExport +from glances.globals import iteritems, time_serie_subsample from glances.logger import logger from glances.timer import Timer -from glances.globals import iteritems, time_serie_subsample -from glances.exports.export import GlancesExport class Export(GlancesExport): diff --git a/glances/exports/glances_graphite/__init__.py b/glances/exports/glances_graphite/__init__.py index e7f884df..84289238 100644 --- a/glances/exports/glances_graphite/__init__.py +++ b/glances/exports/glances_graphite/__init__.py @@ -12,11 +12,11 @@ import sys from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - from graphitesend import GraphiteClient +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the Graphite export module.""" diff --git a/glances/exports/glances_influxdb/__init__.py b/glances/exports/glances_influxdb/__init__.py index b5df2708..b1bc9a83 100644 --- a/glances/exports/glances_influxdb/__init__.py +++ b/glances/exports/glances_influxdb/__init__.py @@ -12,12 +12,12 @@ import sys from platform import node -from glances.logger import logger -from glances.exports.export import GlancesExport - from influxdb import InfluxDBClient from influxdb.client import InfluxDBClientError +from glances.exports.export import GlancesExport +from glances.logger import logger + FIELD_TO_TAG = ['name', 'cmdline', 'type'] diff --git a/glances/exports/glances_influxdb2/__init__.py b/glances/exports/glances_influxdb2/__init__.py index 6abcfcea..8b8ea964 100644 --- a/glances/exports/glances_influxdb2/__init__.py +++ b/glances/exports/glances_influxdb2/__init__.py @@ -12,11 +12,11 @@ import sys from platform import node -from glances.logger import logger -from glances.exports.export import GlancesExport - from influxdb_client import InfluxDBClient, WriteOptions +from glances.exports.export import GlancesExport +from glances.logger import logger + FIELD_TO_TAG = ['name', 'cmdline', 'type'] diff --git a/glances/exports/glances_json/__init__.py b/glances/exports/glances_json/__init__.py index bab53187..62a3c204 100644 --- a/glances/exports/glances_json/__init__.py +++ b/glances/exports/glances_json/__init__.py @@ -2,9 +2,9 @@ import sys -from glances.globals import listkeys, json_dumps -from glances.logger import logger from glances.exports.export import GlancesExport +from glances.globals import json_dumps, listkeys +from glances.logger import logger class Export(GlancesExport): diff --git a/glances/exports/glances_kafka/__init__.py b/glances/exports/glances_kafka/__init__.py index c024ece5..fc687e9b 100644 --- a/glances/exports/glances_kafka/__init__.py +++ b/glances/exports/glances_kafka/__init__.py @@ -11,12 +11,12 @@ import sys -from glances.logger import logger -from glances.globals import json_dumps -from glances.exports.export import GlancesExport - from kafka import KafkaProducer +from glances.exports.export import GlancesExport +from glances.globals import json_dumps +from glances.logger import logger + class Export(GlancesExport): """This class manages the Kafka export module.""" diff --git a/glances/exports/glances_mongodb/__init__.py b/glances/exports/glances_mongodb/__init__.py index b5a740f1..953b498a 100644 --- a/glances/exports/glances_mongodb/__init__.py +++ b/glances/exports/glances_mongodb/__init__.py @@ -10,12 +10,12 @@ """MongoDB interface class.""" import sys - -from glances.logger import logger -from glances.exports.export import GlancesExport +from urllib.parse import quote_plus import pymongo -from urllib.parse import quote_plus + +from glances.exports.export import GlancesExport +from glances.logger import logger class Export(GlancesExport): diff --git a/glances/exports/glances_mqtt/__init__.py b/glances/exports/glances_mqtt/__init__.py index 45d3b127..55cf8253 100755 --- a/glances/exports/glances_mqtt/__init__.py +++ b/glances/exports/glances_mqtt/__init__.py @@ -13,14 +13,14 @@ import socket import string import sys -from glances.logger import logger -from glances.exports.export import GlancesExport -from glances.globals import json_dumps - # Import paho for MQTT import certifi import paho.mqtt.client as paho +from glances.exports.export import GlancesExport +from glances.globals import json_dumps +from glances.logger import logger + class Export(GlancesExport): """This class manages the MQTT export module.""" diff --git a/glances/exports/glances_opentsdb/__init__.py b/glances/exports/glances_opentsdb/__init__.py index 8628cfde..7b411499 100644 --- a/glances/exports/glances_opentsdb/__init__.py +++ b/glances/exports/glances_opentsdb/__init__.py @@ -12,11 +12,11 @@ import sys from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - import potsdb +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the OpenTSDB export module.""" diff --git a/glances/exports/glances_prometheus/__init__.py b/glances/exports/glances_prometheus/__init__.py index fa1714f6..3a19b113 100644 --- a/glances/exports/glances_prometheus/__init__.py +++ b/glances/exports/glances_prometheus/__init__.py @@ -12,11 +12,11 @@ import sys from numbers import Number -from glances.logger import logger +from prometheus_client import Gauge, start_http_server + from glances.exports.export import GlancesExport from glances.globals import iteritems, listkeys - -from prometheus_client import start_http_server, Gauge +from glances.logger import logger class Export(GlancesExport): diff --git a/glances/exports/glances_rabbitmq/__init__.py b/glances/exports/glances_rabbitmq/__init__.py index 9d4526b4..0cec274e 100644 --- a/glances/exports/glances_rabbitmq/__init__.py +++ b/glances/exports/glances_rabbitmq/__init__.py @@ -14,12 +14,12 @@ import socket import sys from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - # Import pika for RabbitMQ import pika +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the rabbitMQ export module.""" diff --git a/glances/exports/glances_restful/__init__.py b/glances/exports/glances_restful/__init__.py index c983dfb9..1b6ad919 100644 --- a/glances/exports/glances_restful/__init__.py +++ b/glances/exports/glances_restful/__init__.py @@ -9,11 +9,11 @@ """RESTful interface class.""" +from requests import post + +from glances.exports.export import GlancesExport from glances.globals import listkeys from glances.logger import logger -from glances.exports.export import GlancesExport - -from requests import post class Export(GlancesExport): diff --git a/glances/exports/glances_riemann/__init__.py b/glances/exports/glances_riemann/__init__.py index ed5d3e63..79dd2cb8 100644 --- a/glances/exports/glances_riemann/__init__.py +++ b/glances/exports/glances_riemann/__init__.py @@ -12,12 +12,12 @@ import socket from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - # Import bernhard for Riemann import bernhard +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the Riemann export module.""" diff --git a/glances/exports/glances_statsd/__init__.py b/glances/exports/glances_statsd/__init__.py index 3cfa35f9..d65c36ca 100644 --- a/glances/exports/glances_statsd/__init__.py +++ b/glances/exports/glances_statsd/__init__.py @@ -11,11 +11,11 @@ from numbers import Number -from glances.logger import logger -from glances.exports.export import GlancesExport - from statsd import StatsClient +from glances.exports.export import GlancesExport +from glances.logger import logger + class Export(GlancesExport): """This class manages the Statsd export module.""" diff --git a/glances/exports/glances_zeromq/__init__.py b/glances/exports/glances_zeromq/__init__.py index 96ed8a83..26c030f0 100644 --- a/glances/exports/glances_zeromq/__init__.py +++ b/glances/exports/glances_zeromq/__init__.py @@ -11,14 +11,13 @@ import sys -from glances.globals import b -from glances.logger import logger -from glances.exports.export import GlancesExport -from glances.globals import json_dumps - import zmq from zmq.utils.strtypes import asbytes +from glances.exports.export import GlancesExport +from glances.globals import b, json_dumps +from glances.logger import logger + class Export(GlancesExport): """This class manages the ZeroMQ export module.""" diff --git a/glances/folder_list.py b/glances/folder_list.py index f8d771f6..5820e847 100644 --- a/glances/folder_list.py +++ b/glances/folder_list.py @@ -11,10 +11,9 @@ from __future__ import unicode_literals - -from glances.timer import Timer -from glances.globals import nativestr, folder_size +from glances.globals import folder_size, nativestr from glances.logger import logger +from glances.timer import Timer class FolderList(object): diff --git a/glances/globals.py b/glances/globals.py index 7e1d2721..e18a9f35 100644 --- a/glances/globals.py +++ b/glances/globals.py @@ -13,21 +13,21 @@ # GLOBAL IMPORTS ################ -import errno -import os -import sys -import platform -import ujson -from operator import itemgetter, methodcaller -import subprocess -from datetime import datetime -import re import base64 +import errno import functools +import os +import platform +import re +import subprocess +import sys import weakref - +from datetime import datetime +from operator import itemgetter, methodcaller from statistics import mean -from urllib.request import urlopen, Request +from urllib.request import Request, urlopen + +import ujson # Correct issue #1025 by monkey path the xmlrpc lib from defusedxml.xmlrpc import monkey_patch diff --git a/glances/logger.py b/glances/logger.py index 3da96356..67061e35 100644 --- a/glances/logger.py +++ b/glances/logger.py @@ -9,13 +9,12 @@ """Custom logger class.""" -import os -import json import getpass -import tempfile - +import json import logging import logging.config +import os +import tempfile from glances.globals import safe_makedirs diff --git a/glances/main.py b/glances/main.py index f8423ea4..dffc5f5f 100644 --- a/glances/main.py +++ b/glances/main.py @@ -15,11 +15,11 @@ import tempfile from logging import DEBUG from warnings import simplefilter -from glances import __version__, psutil_version, __apiversion__ -from glances.globals import WINDOWS, disable, enable +from glances import __apiversion__, __version__, psutil_version from glances.config import Config +from glances.globals import WINDOWS, disable, enable +from glances.logger import LOG_FILENAME, logger from glances.processes import sort_processes_key_list -from glances.logger import logger, LOG_FILENAME class GlancesMain(object): diff --git a/glances/outdated.py b/glances/outdated.py index a7eab6ac..424e5e7e 100644 --- a/glances/outdated.py +++ b/glances/outdated.py @@ -9,16 +9,16 @@ """Manage Glances update.""" -from datetime import datetime, timedelta -import threading import json -import pickle import os +import pickle +import threading +from datetime import datetime, timedelta from ssl import CertificateError from glances import __version__ -from glances.globals import nativestr, urlopen, HTTPError, URLError, safe_makedirs from glances.config import user_cache_dir +from glances.globals import HTTPError, URLError, nativestr, safe_makedirs, urlopen from glances.logger import logger try: diff --git a/glances/outputs/glances_curses.py b/glances/outputs/glances_curses.py index 9ab59606..bed7970a 100644 --- a/glances/outputs/glances_curses.py +++ b/glances/outputs/glances_curses.py @@ -11,14 +11,14 @@ from __future__ import unicode_literals -import sys import getpass +import sys -from glances.globals import MACOS, WINDOWS, nativestr, u, itervalues, enable, disable -from glances.logger import logger from glances.events_list import glances_events -from glances.processes import glances_processes, sort_processes_key_list +from glances.globals import MACOS, WINDOWS, disable, enable, itervalues, nativestr, u +from glances.logger import logger from glances.outputs.glances_unicode import unicode_message +from glances.processes import glances_processes, sort_processes_key_list from glances.timer import Timer # Import curses library for "normal" operating system diff --git a/glances/outputs/glances_curses_browser.py b/glances/outputs/glances_curses_browser.py index caa567f4..f2633969 100644 --- a/glances/outputs/glances_curses_browser.py +++ b/glances/outputs/glances_curses_browser.py @@ -9,11 +9,11 @@ """Curses browser interface class .""" -import math import curses -from glances.outputs.glances_curses import _GlancesCurses +import math from glances.logger import logger +from glances.outputs.glances_curses import _GlancesCurses from glances.timer import Timer diff --git a/glances/outputs/glances_restful_api.py b/glances/outputs/glances_restful_api.py index 1fed6bf9..8ef876a0 100644 --- a/glances/outputs/glances_restful_api.py +++ b/glances/outputs/glances_restful_api.py @@ -12,8 +12,8 @@ import os import sys import tempfile -from io import open import webbrowser +from io import open from urllib.parse import urljoin try: @@ -23,20 +23,20 @@ except ImportError: # To be removed when Python 3.8 support will be dropped from typing_extensions import Annotated -from glances import __version__, __apiversion__ +from glances import __apiversion__, __version__ +from glances.logger import logger from glances.password import GlancesPassword from glances.timer import Timer -from glances.logger import logger # FastAPI import try: - from fastapi import FastAPI, Depends, HTTPException, status, APIRouter, Request - from fastapi.security import HTTPBasic, HTTPBasicCredentials + from fastapi import APIRouter, Depends, FastAPI, HTTPException, Request, status from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.gzip import GZipMiddleware from fastapi.responses import HTMLResponse, ORJSONResponse - from fastapi.templating import Jinja2Templates + from fastapi.security import HTTPBasic, HTTPBasicCredentials from fastapi.staticfiles import StaticFiles + from fastapi.templating import Jinja2Templates except ImportError: logger.critical('FastAPI import error. Glances cannot start in web server mode.') sys.exit(2) diff --git a/glances/outputs/glances_sparklines.py b/glances/outputs/glances_sparklines.py index edd482b0..d4ada88c 100644 --- a/glances/outputs/glances_sparklines.py +++ b/glances/outputs/glances_sparklines.py @@ -9,11 +9,12 @@ """Manage sparklines for Glances output.""" -from __future__ import unicode_literals -from __future__ import division +from __future__ import division, unicode_literals + import sys -from glances.logger import logger + from glances.globals import nativestr +from glances.logger import logger sparklines_module = True diff --git a/glances/outputs/glances_stdout.py b/glances/outputs/glances_stdout.py index ec70f55b..817c911b 100644 --- a/glances/outputs/glances_stdout.py +++ b/glances/outputs/glances_stdout.py @@ -11,8 +11,8 @@ import time -from glances.logger import logger from glances.globals import printandflush +from glances.logger import logger class GlancesStdout(object): diff --git a/glances/outputs/glances_stdout_apidoc.py b/glances/outputs/glances_stdout_apidoc.py index aa6b2465..907d4929 100644 --- a/glances/outputs/glances_stdout_apidoc.py +++ b/glances/outputs/glances_stdout_apidoc.py @@ -9,14 +9,13 @@ """Fields description interface class.""" -from pprint import pformat import json import time +from pprint import pformat from glances import __apiversion__ -from glances.logger import logger from glances.globals import iteritems - +from glances.logger import logger API_URL = "http://localhost:61208/api/{api_version}".format(api_version=__apiversion__) diff --git a/glances/outputs/glances_stdout_issue.py b/glances/outputs/glances_stdout_issue.py index 3039a7d9..55e2cd41 100644 --- a/glances/outputs/glances_stdout_issue.py +++ b/glances/outputs/glances_stdout_issue.py @@ -10,16 +10,16 @@ """Issue interface class.""" import os -import sys import platform -import time import pprint - -from glances.timer import Counter -from glances import __version__, psutil_version +import sys +import time import psutil + import glances +from glances import __version__, psutil_version +from glances.timer import Counter TERMINAL_WIDTH = 79 diff --git a/glances/password.py b/glances/password.py index d0057630..c4e8280e 100644 --- a/glances/password.py +++ b/glances/password.py @@ -16,8 +16,8 @@ import sys import uuid from io import open -from glances.globals import b, safe_makedirs, weak_lru_cache from glances.config import user_config_dir +from glances.globals import b, safe_makedirs, weak_lru_cache from glances.logger import logger diff --git a/glances/plugins/amps/__init__.py b/glances/plugins/amps/__init__.py index e8d6644a..9e9e46be 100644 --- a/glances/plugins/amps/__init__.py +++ b/glances/plugins/amps/__init__.py @@ -9,8 +9,8 @@ """Monitor plugin.""" -from glances.globals import iteritems from glances.amps_list import AmpsList as glancesAmpsList +from glances.globals import iteritems from glances.plugins.plugin.model import GlancesPluginModel # Fields description diff --git a/glances/plugins/cloud/__init__.py b/glances/plugins/cloud/__init__.py index 72b8dde1..bb9880f8 100644 --- a/glances/plugins/cloud/__init__.py +++ b/glances/plugins/cloud/__init__.py @@ -17,8 +17,8 @@ Supported Cloud API: import threading from glances.globals import iteritems, to_ascii -from glances.plugins.plugin.model import GlancesPluginModel from glances.logger import logger +from glances.plugins.plugin.model import GlancesPluginModel # Import plugin specific dependency try: diff --git a/glances/plugins/connections/__init__.py b/glances/plugins/connections/__init__.py index e9b49116..f11b9aea 100644 --- a/glances/plugins/connections/__init__.py +++ b/glances/plugins/connections/__init__.py @@ -11,11 +11,11 @@ from __future__ import unicode_literals +import psutil + +from glances.globals import nativestr from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel -from glances.globals import nativestr - -import psutil # Fields description # description: human readable description diff --git a/glances/plugins/containers/engines/docker.py b/glances/plugins/containers/engines/docker.py index fae29a1d..a74e2a70 100644 --- a/glances/plugins/containers/engines/docker.py +++ b/glances/plugins/containers/engines/docker.py @@ -18,8 +18,8 @@ from glances.plugins.containers.stats_streamer import StatsStreamer # Docker-py library (optional and Linux-only) # https://github.com/docker/docker-py try: - import requests import docker + import requests from dateutil import parser, tz except Exception as e: import_docker_error_tag = True diff --git a/glances/plugins/containers/engines/podman.py b/glances/plugins/containers/engines/podman.py index 70572938..b98bc540 100644 --- a/glances/plugins/containers/engines/podman.py +++ b/glances/plugins/containers/engines/podman.py @@ -10,7 +10,7 @@ from datetime import datetime -from glances.globals import iterkeys, itervalues, nativestr, pretty_date, string_value_to_float, replace_special_chars +from glances.globals import iterkeys, itervalues, nativestr, pretty_date, replace_special_chars, string_value_to_float from glances.logger import logger from glances.plugins.containers.stats_streamer import StatsStreamer diff --git a/glances/plugins/core/__init__.py b/glances/plugins/core/__init__.py index 2925a7d5..ffede532 100644 --- a/glances/plugins/core/__init__.py +++ b/glances/plugins/core/__init__.py @@ -9,10 +9,10 @@ """CPU core plugin.""" -from glances.plugins.plugin.model import GlancesPluginModel - import psutil +from glances.plugins.plugin.model import GlancesPluginModel + # Fields description fields_description = { 'phys': {'description': 'Number of physical cores (hyper thread CPUs are excluded).', 'unit': 'number'}, diff --git a/glances/plugins/cpu/__init__.py b/glances/plugins/cpu/__init__.py index 45df455f..9379fd09 100644 --- a/glances/plugins/cpu/__init__.py +++ b/glances/plugins/cpu/__init__.py @@ -9,13 +9,13 @@ """CPU plugin.""" -from glances.globals import LINUX, WINDOWS, SUNOS, iterkeys +import psutil + from glances.cpu_percent import cpu_percent +from glances.globals import LINUX, SUNOS, WINDOWS, iterkeys from glances.plugins.core import PluginModel as CorePluginModel from glances.plugins.plugin.model import GlancesPluginModel -import psutil - # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/diskio/__init__.py b/glances/plugins/diskio/__init__.py index 8aed84e1..67ea1205 100644 --- a/glances/plugins/diskio/__init__.py +++ b/glances/plugins/diskio/__init__.py @@ -11,12 +11,12 @@ from __future__ import unicode_literals -from glances.logger import logger -from glances.globals import nativestr -from glances.plugins.plugin.model import GlancesPluginModel - import psutil +from glances.globals import nativestr +from glances.logger import logger +from glances.plugins.plugin.model import GlancesPluginModel + # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/folders/__init__.py b/glances/plugins/folders/__init__.py index 968206ca..9ebb8ea9 100644 --- a/glances/plugins/folders/__init__.py +++ b/glances/plugins/folders/__init__.py @@ -11,12 +11,11 @@ from __future__ import unicode_literals -from glances.logger import logger -from glances.globals import nativestr from glances.folder_list import FolderList as glancesFolderList +from glances.globals import nativestr +from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel - # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/fs/__init__.py b/glances/plugins/fs/__init__.py index 25b683b3..d5affe5b 100644 --- a/glances/plugins/fs/__init__.py +++ b/glances/plugins/fs/__init__.py @@ -13,12 +13,12 @@ from __future__ import unicode_literals import operator -from glances.globals import u, nativestr, PermissionError +import psutil + +from glances.globals import PermissionError, nativestr, u from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel -import psutil - # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/gpu/__init__.py b/glances/plugins/gpu/__init__.py index 804fa45a..47ccf77e 100644 --- a/glances/plugins/gpu/__init__.py +++ b/glances/plugins/gpu/__init__.py @@ -16,8 +16,8 @@ Currently supported: """ from glances.globals import to_fahrenheit -from glances.plugins.gpu.cards.nvidia import NvidiaGPU from glances.plugins.gpu.cards.amd import AmdGPU +from glances.plugins.gpu.cards.nvidia import NvidiaGPU from glances.plugins.plugin.model import GlancesPluginModel # Fields description diff --git a/glances/plugins/gpu/cards/amd.py b/glances/plugins/gpu/cards/amd.py index 74449104..2f8cd562 100644 --- a/glances/plugins/gpu/cards/amd.py +++ b/glances/plugins/gpu/cards/amd.py @@ -35,8 +35,8 @@ See: https://wiki.archlinux.org/title/AMDGPU#Manually # └── 0 # └── amdgpu_pm_info -import re import os +import re DRM_ROOT_FOLDER: str = '/sys/class/drm' CARD_REGEX: str = r"^card\d$" diff --git a/glances/plugins/gpu/cards/nvidia.py b/glances/plugins/gpu/cards/nvidia.py index c7a31295..a6473b24 100644 --- a/glances/plugins/gpu/cards/nvidia.py +++ b/glances/plugins/gpu/cards/nvidia.py @@ -9,8 +9,8 @@ """NVidia Extension unit for Glances' GPU plugin.""" -from glances.logger import logger from glances.globals import nativestr +from glances.logger import logger try: import pynvml diff --git a/glances/plugins/help/__init__.py b/glances/plugins/help/__init__.py index 1430447f..6f8c46ac 100644 --- a/glances/plugins/help/__init__.py +++ b/glances/plugins/help/__init__.py @@ -14,11 +14,12 @@ Just a stupid plugin to display the help screen. """ import sys -from glances.globals import iteritems -from glances import __version__, psutil_version -from glances.plugins.plugin.model import GlancesPluginModel from itertools import chain +from glances import __version__, psutil_version +from glances.globals import iteritems +from glances.plugins.plugin.model import GlancesPluginModel + class PluginModel(GlancesPluginModel): """Glances help plugin.""" diff --git a/glances/plugins/ip/__init__.py b/glances/plugins/ip/__init__.py index fe79480e..09c3c6c5 100644 --- a/glances/plugins/ip/__init__.py +++ b/glances/plugins/ip/__init__.py @@ -10,13 +10,13 @@ """IP plugin.""" import threading + from ujson import loads from glances.globals import queue, urlopen_auth from glances.logger import logger -from glances.timer import Timer -from glances.timer import getTimeSinceLastUpdate from glances.plugins.plugin.model import GlancesPluginModel +from glances.timer import Timer, getTimeSinceLastUpdate # Import plugin specific dependency try: diff --git a/glances/plugins/irq/__init__.py b/glances/plugins/irq/__init__.py index bfa70af8..c4c5004c 100644 --- a/glances/plugins/irq/__init__.py +++ b/glances/plugins/irq/__init__.py @@ -9,14 +9,13 @@ """IRQ plugin.""" -import os import operator +import os -from glances.logger import logger from glances.globals import LINUX -from glances.timer import getTimeSinceLastUpdate +from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel - +from glances.timer import getTimeSinceLastUpdate # Fields description # description: human readable description diff --git a/glances/plugins/load/__init__.py b/glances/plugins/load/__init__.py index 910dbb3a..c26446bc 100644 --- a/glances/plugins/load/__init__.py +++ b/glances/plugins/load/__init__.py @@ -10,12 +10,13 @@ """Load plugin.""" import os + import psutil from glances.globals import iteritems +from glances.logger import logger from glances.plugins.core import PluginModel as CorePluginModel from glances.plugins.plugin.model import GlancesPluginModel -from glances.logger import logger # Fields description fields_description = { diff --git a/glances/plugins/mem/__init__.py b/glances/plugins/mem/__init__.py index 44714e11..b462d9ee 100644 --- a/glances/plugins/mem/__init__.py +++ b/glances/plugins/mem/__init__.py @@ -9,10 +9,10 @@ """Virtual memory plugin.""" -from glances.plugins.plugin.model import GlancesPluginModel - import psutil +from glances.plugins.plugin.model import GlancesPluginModel + # Fields description fields_description = { 'total': {'description': 'Total physical memory available.', 'unit': 'bytes', 'min_symbol': 'K'}, diff --git a/glances/plugins/memswap/__init__.py b/glances/plugins/memswap/__init__.py index 8f98a9e3..534848ce 100644 --- a/glances/plugins/memswap/__init__.py +++ b/glances/plugins/memswap/__init__.py @@ -9,12 +9,12 @@ """Swap memory plugin.""" -from glances.globals import iterkeys -from glances.timer import getTimeSinceLastUpdate -from glances.plugins.plugin.model import GlancesPluginModel - import psutil +from glances.globals import iterkeys +from glances.plugins.plugin.model import GlancesPluginModel +from glances.timer import getTimeSinceLastUpdate + # Fields description fields_description = { 'total': {'description': 'Total swap memory.', 'unit': 'bytes', 'min_symbol': 'K'}, diff --git a/glances/plugins/network/__init__.py b/glances/plugins/network/__init__.py index aa60281e..3b5f05f2 100644 --- a/glances/plugins/network/__init__.py +++ b/glances/plugins/network/__init__.py @@ -11,11 +11,11 @@ from __future__ import unicode_literals -from glances.plugins.plugin.model import GlancesPluginModel -from glances.logger import logger - import psutil +from glances.logger import logger +from glances.plugins.plugin.model import GlancesPluginModel + # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/now/__init__.py b/glances/plugins/now/__init__.py index 021ad5b0..8482d70b 100644 --- a/glances/plugins/now/__init__.py +++ b/glances/plugins/now/__init__.py @@ -9,8 +9,9 @@ """Now (current date) plugin.""" -from time import tzname, strftime import datetime +from time import strftime, tzname + from glances.plugins.plugin.model import GlancesPluginModel # Fields description diff --git a/glances/plugins/plugin/model.py b/glances/plugins/plugin/model.py index 99539e1b..42973918 100644 --- a/glances/plugins/plugin/model.py +++ b/glances/plugins/plugin/model.py @@ -13,18 +13,17 @@ I am your father... ...of all Glances model plugins. """ -import re import copy +import re -from glances.globals import iterkeys, itervalues, listkeys, mean, nativestr, json_dumps, json_dumps_dictlist, dictlist from glances.actions import GlancesActions +from glances.events_list import glances_events +from glances.globals import dictlist, iterkeys, itervalues, json_dumps, json_dumps_dictlist, listkeys, mean, nativestr from glances.history import GlancesHistory from glances.logger import logger -from glances.events_list import glances_events +from glances.outputs.glances_unicode import unicode_message from glances.thresholds import glances_thresholds from glances.timer import Counter, Timer, getTimeSinceLastUpdate -from glances.outputs.glances_unicode import unicode_message - fields_unit_short = {'percent': '%'} diff --git a/glances/plugins/ports/__init__.py b/glances/plugins/ports/__init__.py index 4be1d421..87c467fc 100644 --- a/glances/plugins/ports/__init__.py +++ b/glances/plugins/ports/__init__.py @@ -9,19 +9,19 @@ """Ports scanner plugin.""" +import numbers import os +import socket import subprocess import threading -import socket import time -import numbers -from glances.globals import WINDOWS, MACOS, BSD, bool_type -from glances.ports_list import GlancesPortsList -from glances.web_list import GlancesWebList -from glances.timer import Counter +from glances.globals import BSD, MACOS, WINDOWS, bool_type from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel +from glances.ports_list import GlancesPortsList +from glances.timer import Counter +from glances.web_list import GlancesWebList try: import requests diff --git a/glances/plugins/processcount/__init__.py b/glances/plugins/processcount/__init__.py index 6d651e31..53479ead 100644 --- a/glances/plugins/processcount/__init__.py +++ b/glances/plugins/processcount/__init__.py @@ -9,8 +9,8 @@ """Process count plugin.""" -from glances.processes import glances_processes, sort_for_human from glances.plugins.plugin.model import GlancesPluginModel +from glances.processes import glances_processes, sort_for_human # Fields description # description: human readable description diff --git a/glances/plugins/processlist/__init__.py b/glances/plugins/processlist/__init__.py index 831c40a9..b2a4bf2f 100644 --- a/glances/plugins/processlist/__init__.py +++ b/glances/plugins/processlist/__init__.py @@ -9,15 +9,15 @@ """Process list plugin.""" -import os import copy +import os -from glances.logger import logger from glances.globals import WINDOWS, key_exist_value_not_none_not_v, replace_special_chars -from glances.processes import glances_processes, sort_stats +from glances.logger import logger from glances.outputs.glances_unicode import unicode_message from glances.plugins.core import PluginModel as CorePluginModel from glances.plugins.plugin.model import GlancesPluginModel +from glances.processes import glances_processes, sort_stats # Fields description # description: human readable description diff --git a/glances/plugins/quicklook/__init__.py b/glances/plugins/quicklook/__init__.py index fa68d50c..8646298d 100644 --- a/glances/plugins/quicklook/__init__.py +++ b/glances/plugins/quicklook/__init__.py @@ -9,15 +9,15 @@ """Quicklook plugin.""" -from glances.logger import logger +import psutil + from glances.cpu_percent import cpu_percent -from glances.plugins.load import get_load_average, get_nb_log_core, get_nb_phys_core +from glances.logger import logger from glances.outputs.glances_bars import Bar from glances.outputs.glances_sparklines import Sparkline +from glances.plugins.load import get_load_average, get_nb_log_core, get_nb_phys_core from glances.plugins.plugin.model import GlancesPluginModel -import psutil - # Fields description # description: human readable description # short_name: shortname to use un UI diff --git a/glances/plugins/sensors/__init__.py b/glances/plugins/sensors/__init__.py index 8aed0e94..cb11acde 100644 --- a/glances/plugins/sensors/__init__.py +++ b/glances/plugins/sensors/__init__.py @@ -9,20 +9,20 @@ """Sensors plugin.""" -from enum import Enum +import warnings from concurrent.futures import ThreadPoolExecutor -from typing import List, Dict, Literal, Any +from enum import Enum +from typing import Any, Dict, List, Literal import psutil -import warnings -from glances.logger import logger from glances.globals import to_fahrenheit -from glances.timer import Counter -from glances.plugins.sensors.sensor.glances_batpercent import PluginModel as BatPercentPluginModel -from glances.plugins.sensors.sensor.glances_hddtemp import PluginModel as HddTempPluginModel +from glances.logger import logger from glances.outputs.glances_unicode import unicode_message from glances.plugins.plugin.model import GlancesPluginModel +from glances.plugins.sensors.sensor.glances_batpercent import PluginModel as BatPercentPluginModel +from glances.plugins.sensors.sensor.glances_hddtemp import PluginModel as HddTempPluginModel +from glances.timer import Counter class SensorType(str, Enum): diff --git a/glances/plugins/sensors/sensor/glances_batpercent.py b/glances/plugins/sensors/sensor/glances_batpercent.py index 9baadf5e..8c280c16 100644 --- a/glances/plugins/sensors/sensor/glances_batpercent.py +++ b/glances/plugins/sensors/sensor/glances_batpercent.py @@ -11,9 +11,9 @@ import psutil +from glances.globals import LINUX from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel -from glances.globals import LINUX # Batinfo library (optional; Linux-only) if LINUX: diff --git a/glances/plugins/smart/__init__.py b/glances/plugins/smart/__init__.py index f2e33d32..88f04320 100644 --- a/glances/plugins/smart/__init__.py +++ b/glances/plugins/smart/__init__.py @@ -34,10 +34,10 @@ Check for admin access. If no admin access, disable SMART plugin. If smartmontools is not installed, we should catch the error upstream in plugin initialization. """ -from glances.plugins.plugin.model import GlancesPluginModel +from glances.globals import is_admin from glances.logger import logger from glances.main import disable -from glances.globals import is_admin +from glances.plugins.plugin.model import GlancesPluginModel # Import plugin specific dependency try: diff --git a/glances/plugins/system/__init__.py b/glances/plugins/system/__init__.py index 17e3259a..3cc7a543 100644 --- a/glances/plugins/system/__init__.py +++ b/glances/plugins/system/__init__.py @@ -14,8 +14,8 @@ import platform import re from io import open -from glances.logger import logger from glances.globals import iteritems +from glances.logger import logger from glances.plugins.plugin.model import GlancesPluginModel # { diff --git a/glances/plugins/uptime/__init__.py b/glances/plugins/uptime/__init__.py index 9ded30c5..06283711 100644 --- a/glances/plugins/uptime/__init__.py +++ b/glances/plugins/uptime/__init__.py @@ -11,10 +11,10 @@ from datetime import datetime, timedelta -from glances.plugins.plugin.model import GlancesPluginModel - import psutil +from glances.plugins.plugin.model import GlancesPluginModel + # SNMP OID snmp_oid = {'_uptime': '1.3.6.1.2.1.1.3.0'} diff --git a/glances/plugins/wifi/__init__.py b/glances/plugins/wifi/__init__.py index 843553a6..8f0d26cf 100644 --- a/glances/plugins/wifi/__init__.py +++ b/glances/plugins/wifi/__init__.py @@ -19,9 +19,9 @@ wlp2s0: 0000 51. -59. -256 0 0 0 0 5881 0 import operator -from glances.globals import nativestr, file_exists -from glances.plugins.plugin.model import GlancesPluginModel +from glances.globals import file_exists, nativestr from glances.logger import logger +from glances.plugins.plugin.model import GlancesPluginModel # Backup solution is to use the /proc/net/wireless file # but it only give signal information about the current hotspot diff --git a/glances/ports_list.py b/glances/ports_list.py index ce040230..30f692ab 100644 --- a/glances/ports_list.py +++ b/glances/ports_list.py @@ -9,8 +9,8 @@ """Manage the Glances ports list (Ports plugin).""" -from glances.logger import logger from glances.globals import BSD +from glances.logger import logger # XXX *BSDs: Segmentation fault (core dumped) # -- https://bitbucket.org/al45tair/netifaces/issues/15 diff --git a/glances/processes.py b/glances/processes.py index a3069e0b..c93944a6 100644 --- a/glances/processes.py +++ b/glances/processes.py @@ -9,15 +9,14 @@ import os -from glances.globals import BSD, LINUX, MACOS, WINDOWS, iterkeys -from glances.globals import namedtuple_to_dict, list_of_namedtuple_to_list_of_dict -from glances.timer import Timer, getTimeSinceLastUpdate -from glances.filter import GlancesFilterList, GlancesFilter -from glances.programs import processes_to_programs -from glances.logger import logger - import psutil +from glances.filter import GlancesFilter, GlancesFilterList +from glances.globals import BSD, LINUX, MACOS, WINDOWS, iterkeys, list_of_namedtuple_to_list_of_dict, namedtuple_to_dict +from glances.logger import logger +from glances.programs import processes_to_programs +from glances.timer import Timer, getTimeSinceLastUpdate + psutil_version_info = tuple([int(num) for num in psutil.__version__.split('.')]) # This constant defines the list of available processes sort key diff --git a/glances/secure.py b/glances/secure.py index 4dd177e0..30f13803 100644 --- a/glances/secure.py +++ b/glances/secure.py @@ -9,8 +9,8 @@ """Secures functions for Glances""" -from subprocess import Popen, PIPE import re +from subprocess import PIPE, Popen from glances.globals import nativestr diff --git a/glances/server.py b/glances/server.py index ad343e20..55f6139f 100644 --- a/glances/server.py +++ b/glances/server.py @@ -9,14 +9,13 @@ """Manage the Glances server.""" -from glances.globals import json_dumps import socket import sys from base64 import b64decode from glances import __version__ -from glances.globals import SimpleXMLRPCRequestHandler, SimpleXMLRPCServer from glances.autodiscover import GlancesAutoDiscoverClient +from glances.globals import SimpleXMLRPCRequestHandler, SimpleXMLRPCServer, json_dumps from glances.logger import logger from glances.stats_server import GlancesStatsServer from glances.timer import Timer diff --git a/glances/standalone.py b/glances/standalone.py index e717d75e..ae9090c4 100644 --- a/glances/standalone.py +++ b/glances/standalone.py @@ -12,18 +12,17 @@ import sys import time -from glances.logger import logger - from glances.globals import WINDOWS -from glances.processes import glances_processes -from glances.stats import GlancesStats +from glances.logger import logger +from glances.outdated import Outdated from glances.outputs.glances_curses import GlancesCursesStandalone from glances.outputs.glances_stdout import GlancesStdout -from glances.outputs.glances_stdout_json import GlancesStdoutJson +from glances.outputs.glances_stdout_apidoc import GlancesStdoutApiDoc from glances.outputs.glances_stdout_csv import GlancesStdoutCsv from glances.outputs.glances_stdout_issue import GlancesStdoutIssue -from glances.outputs.glances_stdout_apidoc import GlancesStdoutApiDoc -from glances.outdated import Outdated +from glances.outputs.glances_stdout_json import GlancesStdoutJson +from glances.processes import glances_processes +from glances.stats import GlancesStats from glances.timer import Counter diff --git a/glances/stats.py b/glances/stats.py index d65151b3..8722e31e 100644 --- a/glances/stats.py +++ b/glances/stats.py @@ -11,14 +11,14 @@ import collections import os +import pathlib import sys import threading import traceback from importlib import import_module -import pathlib -from glances.logger import logger from glances.globals import exports_path, plugins_path, sys_path +from glances.logger import logger from glances.timer import Counter diff --git a/glances/stats_client.py b/glances/stats_client.py index fd27af16..15ad30f3 100644 --- a/glances/stats_client.py +++ b/glances/stats_client.py @@ -11,9 +11,9 @@ import sys -from glances.stats import GlancesStats from glances.globals import sys_path from glances.logger import logger +from glances.stats import GlancesStats class GlancesStatsClient(GlancesStats): diff --git a/glances/stats_client_snmp.py b/glances/stats_client_snmp.py index 9184589c..5007656a 100644 --- a/glances/stats_client_snmp.py +++ b/glances/stats_client_snmp.py @@ -11,9 +11,9 @@ import re -from glances.stats import GlancesStats from glances.globals import iteritems from glances.logger import logger +from glances.stats import GlancesStats # SNMP OID regexp pattern to short system name dict oid_to_short_system_name = { diff --git a/glances/stats_server.py b/glances/stats_server.py index 802f6327..684bbcf6 100644 --- a/glances/stats_server.py +++ b/glances/stats_server.py @@ -11,8 +11,8 @@ import collections -from glances.stats import GlancesStats from glances.logger import logger +from glances.stats import GlancesStats class GlancesStatsServer(GlancesStats): diff --git a/glances/timer.py b/glances/timer.py index 30316b3b..030558cb 100644 --- a/glances/timer.py +++ b/glances/timer.py @@ -9,8 +9,8 @@ """The timer manager.""" -from time import time from datetime import datetime +from time import time # Global list to manage the elapsed time last_update_times = {} diff --git a/glances/webserver.py b/glances/webserver.py index 1451399f..859ce820 100644 --- a/glances/webserver.py +++ b/glances/webserver.py @@ -10,9 +10,9 @@ """Glances Restful/API and Web based interface.""" from glances.globals import WINDOWS +from glances.outputs.glances_restful_api import GlancesRestfulApi from glances.processes import glances_processes from glances.stats import GlancesStats -from glances.outputs.glances_restful_api import GlancesRestfulApi class GlancesWebServer(object): diff --git a/pyproject.toml b/pyproject.toml index 30158d4d..5b6464c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,20 @@ quote-style = "preserve" [tool.ruff.lint] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. -select = ["E", "F"] +select = [ +# "C90", # mccabe + "E", # pycodestyle + "F", # Pyflakes + "I", # isort +# "N", # pep8-naming + "W", # pycodestyle +# "UP", # pyupgrde +# "C4", # flake8-comprehensions +# "RET", # flake8-return +# "FBT", # flake8-boolean-trap +# "RUF", # Ruff-specific rules +# "PERF", # Perflint +] ignore = [] # Allow autofix for all enabled rules (when `--fix`) is provided. @@ -50,4 +63,4 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" [tool.ruff.lint.mccabe] # Unlike Flake8, default to a complexity level of 10. -max-complexity = 10 \ No newline at end of file +max-complexity = 18 \ No newline at end of file diff --git a/run.py b/run.py index a51fb2e1..a5db19e7 100755 --- a/run.py +++ b/run.py @@ -2,6 +2,7 @@ # -*- coding: utf-8 -*- import re import sys + from glances import main if __name__ == '__main__': diff --git a/setup.py b/setup.py index 66a09f5c..2c7ea8d7 100755 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ import re import sys from io import open -from setuptools import setup, Command +from setuptools import Command, setup # Predication warning # Glances version 4 will only be compatible with Python 3.7 and above diff --git a/unittest-core.py b/unittest-core.py index cdaa6ea4..9383883c 100755 --- a/unittest-core.py +++ b/unittest-core.py @@ -10,31 +10,33 @@ """Glances unitary tests suite.""" +import json +import sys import time import unittest -import sys -import json # Check Python version if sys.version_info < (3, 8): print('Glances requires at least Python 3.8 to run.') sys.exit(1) -from glances.main import GlancesMain -from glances.stats import GlancesStats from glances import __version__ -from glances.globals import WINDOWS, LINUX, subsample, string_value_to_float +from glances.events_list import GlancesEventsList +from glances.filter import GlancesFilter, GlancesFilterList +from glances.globals import LINUX, WINDOWS, string_value_to_float, subsample +from glances.main import GlancesMain from glances.outputs.glances_bars import Bar -from glances.thresholds import GlancesThresholdOk -from glances.thresholds import GlancesThresholdCareful -from glances.thresholds import GlancesThresholdWarning -from glances.thresholds import GlancesThresholdCritical -from glances.thresholds import GlancesThresholds from glances.plugins.plugin.model import GlancesPluginModel from glances.programs import processes_to_programs from glances.secure import secure_popen -from glances.events_list import GlancesEventsList -from glances.filter import GlancesFilterList, GlancesFilter +from glances.stats import GlancesStats +from glances.thresholds import ( + GlancesThresholdCareful, + GlancesThresholdCritical, + GlancesThresholdOk, + GlancesThresholds, + GlancesThresholdWarning, +) # Global variables # ================= diff --git a/unittest-restful.py b/unittest-restful.py index ce88c582..72e99b2e 100755 --- a/unittest-restful.py +++ b/unittest-restful.py @@ -10,18 +10,18 @@ """Glances unitary tests suite for the RESTful API.""" +import numbers import os import shlex import subprocess import time -import numbers import unittest -from glances.outputs.glances_restful_api import GlancesRestfulApi +import requests + from glances import __version__ from glances.globals import text_type - -import requests +from glances.outputs.glances_restful_api import GlancesRestfulApi SERVER_PORT = 61234 API_VERSION = GlancesRestfulApi.API_VERSION diff --git a/unittest-xmlrpc.py b/unittest-xmlrpc.py index 03df2bac..c8b10fb9 100755 --- a/unittest-xmlrpc.py +++ b/unittest-xmlrpc.py @@ -10,8 +10,8 @@ """Glances unitary tests suite for the XML-RPC API.""" -import os import json +import os import shlex import subprocess import time