From 98f2bb7fbe7cb252a3117e92b0d280781999632e Mon Sep 17 00:00:00 2001 From: Bharath Vignesh J K <52282402+RazCrimson@users.noreply.github.com> Date: Thu, 16 May 2024 16:58:25 +0530 Subject: [PATCH] chg: event_list - enable data validation only if pydantic available --- glances/event.py | 8 +++++++- glances/events_list.py | 4 ++-- optional-requirements.txt | 1 + requirements.txt | 1 - 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/glances/event.py b/glances/event.py index 796205f4..ea2f3cbe 100644 --- a/glances/event.py +++ b/glances/event.py @@ -32,7 +32,13 @@ Item (or event) is defined by: } """ -from pydantic.dataclasses import dataclass +from glances.logger import logger + +try: + from pydantic.dataclasses import dataclass +except ImportError as e: + logger.warning(f"Missing Python Lib ({e}), EventList will be skipping data validation") + from dataclasses import dataclass from glances.processes import sort_stats diff --git a/glances/events_list.py b/glances/events_list.py index a0d7ce26..04f6459d 100644 --- a/glances/events_list.py +++ b/glances/events_list.py @@ -11,7 +11,7 @@ import time from datetime import datetime -from pydantic import RootModel +from dataclasses import asdict from glances.processes import glances_processes from glances.thresholds import glances_thresholds @@ -201,7 +201,7 @@ class GlancesEventsList(object): def get(self): """Return the RAW events list.""" - return [RootModel[GlancesEvent](e).model_dump() for e in self.events_list] + return [asdict(e) for e in self.events_list] def len(self): """Return the number of events in the logs list.""" diff --git a/optional-requirements.txt b/optional-requirements.txt index 8df5dc13..6585466d 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -22,6 +22,7 @@ podman; python_version >= "3.6" potsdb prometheus_client pycouchdb +pydantic pygal pymdstat pymongo; python_version >= "3.7" diff --git a/requirements.txt b/requirements.txt index c296d9e3..8581289d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,3 @@ psutil>=5.6.7 defusedxml packaging ujson>=5.4.0 -pydantic>=2.0.0