Skip to content

Commit 01cd455

Browse files
committed
more updates
1 parent 037272d commit 01cd455

31 files changed

+117
-83
lines changed

nodescraper/cli/cli.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,7 @@ def build_parser(
257257
model_type_map = parser_builder.build_plugin_parser()
258258
except Exception as e:
259259
print(f"Exception building arg parsers for {plugin_name}: {str(e)}") # noqa: T201
260+
continue
260261
plugin_subparser_map[plugin_name] = (plugin_subparser, model_type_map)
261262

262263
return parser, plugin_subparser_map

nodescraper/configbuilder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import enum
2727
import logging
2828
import types
29-
from typing import Any, Optional, Type
29+
from typing import Any, Optional, Type, Union
3030

3131
from pydantic import BaseModel
3232

@@ -102,7 +102,7 @@ def _update_config(cls, config_key, type_data: TypeData, config: dict):
102102
config[config_key] = cls._process_value(type_data.default)
103103

104104
@classmethod
105-
def _process_value(cls, value: Any) -> dict | str | int | float | list | None:
105+
def _process_value(cls, value: Any) -> Optional[Union[dict, str, int, float, list]]:
106106
if isinstance(value, enum.Enum):
107107
return value.name
108108

nodescraper/connection/inband/inbandmanager.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from __future__ import annotations
2727

2828
from logging import Logger
29+
from typing import Optional, Union
2930

3031
from nodescraper.enums import (
3132
EventCategory,
@@ -50,11 +51,11 @@ class InBandConnectionManager(ConnectionManager[InBandConnection, SSHConnectionP
5051
def __init__(
5152
self,
5253
system_info: SystemInfo,
53-
logger: Logger | None = None,
54-
max_event_priority_level: EventPriority | str = EventPriority.CRITICAL,
55-
parent: str | None = None,
56-
task_result_hooks: list[TaskResultHook] | None = None,
57-
connection_args: SSHConnectionParams | None = None,
54+
logger: Optional[Logger] = None,
55+
max_event_priority_level: Union[EventPriority, str] = EventPriority.CRITICAL,
56+
parent: Optional[str] = None,
57+
task_result_hooks: Optional[list[TaskResultHook]] = None,
58+
connection_args: Optional[SSHConnectionParams] = None,
5859
**kwargs,
5960
):
6061
super().__init__(

nodescraper/pluginexecutor.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import copy
2929
import logging
3030
from collections import deque
31-
from typing import Optional, Type
31+
from typing import Optional, Type, Union
3232

3333
from pydantic import BaseModel
3434

@@ -47,7 +47,7 @@ class PluginExecutor:
4747
def __init__(
4848
self,
4949
plugin_configs: list[PluginConfig],
50-
connections: Optional[dict[str, dict | BaseModel]] = None,
50+
connections: Optional[dict[str, Union[dict, BaseModel]]] = None,
5151
system_info: Optional[SystemInfo] = None,
5252
logger: Optional[logging.Logger] = None,
5353
plugin_registry: Optional[PluginRegistry] = None,

nodescraper/plugins/inband/bios/analyzer_args.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
# SOFTWARE.
2424
#
2525
###############################################################################
26+
from typing import Union
27+
2628
from pydantic import Field, field_validator
2729

2830
from nodescraper.models import AnalyzerArgs
@@ -35,11 +37,11 @@ class BiosAnalyzerArgs(AnalyzerArgs):
3537

3638
@field_validator("exp_bios_version", mode="before")
3739
@classmethod
38-
def validate_exp_bios_version(cls, exp_bios_version: str | list) -> list:
40+
def validate_exp_bios_version(cls, exp_bios_version: Union[str, list]) -> list:
3941
"""support str or list input for exp_bios_version
4042
4143
Args:
42-
exp_bios_version (str | list): expected BIOS version(s) to match against
44+
exp_bios_version (Union[str, list]): expected BIOS version(s) to match against
4345
4446
Returns:
4547
list: a list of expected BIOS versions

nodescraper/plugins/inband/bios/bios_collector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
# SOFTWARE.
2424
#
2525
###############################################################################
26+
from typing import Optional
2627

2728
from nodescraper.base import InBandDataCollector
2829
from nodescraper.enums import EventCategory, EventPriority, ExecutionStatus, OSFamily
@@ -39,11 +40,11 @@ class BiosCollector(InBandDataCollector[BiosDataModel, None]):
3940
def collect_data(
4041
self,
4142
args=None,
42-
) -> tuple[TaskResult, BiosDataModel | None]:
43+
) -> tuple[TaskResult, Optional[BiosDataModel]]:
4344
"""Collect BIOS version information from the system.
4445
4546
Returns:
46-
tuple[TaskResult, BiosDataModel | None]: tuple containing the task result and an instance of BiosDataModel
47+
tuple[TaskResult, Optional[BiosDataModel]]: tuple containing the task result and an instance of BiosDataModel
4748
or None if the BIOS version could not be determined.
4849
"""
4950
bios = None

nodescraper/plugins/inband/cmdline/analyzer_args.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,25 @@
2323
# SOFTWARE.
2424
#
2525
###############################################################################
26+
from typing import Union
27+
2628
from pydantic import Field, field_validator
2729

2830
from nodescraper.models import AnalyzerArgs
2931
from nodescraper.plugins.inband.cmdline.cmdlinedata import CmdlineDataModel
3032

3133

3234
class CmdlineAnalyzerArgs(AnalyzerArgs):
33-
required_cmdline: str | list = Field(default_factory=list)
34-
banned_cmdline: str | list = Field(default_factory=list)
35+
required_cmdline: Union[str, list] = Field(default_factory=list)
36+
banned_cmdline: Union[str, list] = Field(default_factory=list)
3537

3638
@field_validator("required_cmdline", mode="before")
3739
@classmethod
38-
def validate_required_cmdline(cls, required_cmdline: str | list) -> list:
40+
def validate_required_cmdline(cls, required_cmdline: Union[str, list]) -> list:
3941
"""support str or list input for required_cmdline
4042
4143
Args:
42-
required_cmdline (str | list): required command line arguments
44+
required_cmdline (Union[str, list]): required command line arguments
4345
4446
Returns:
4547
list: list of required command line arguments
@@ -51,11 +53,11 @@ def validate_required_cmdline(cls, required_cmdline: str | list) -> list:
5153

5254
@field_validator("banned_cmdline", mode="before")
5355
@classmethod
54-
def validate_banned_cmdline(cls, banned_cmdline: str | list) -> list:
56+
def validate_banned_cmdline(cls, banned_cmdline: Union[str, list]) -> list:
5557
"""support str or list input for banned_cmdline
5658
5759
Args:
58-
banned_cmdline (str | list): banned command line arguments
60+
banned_cmdline (Union[str, list]): banned command line arguments
5961
6062
Returns:
6163
list: a list of banned command line arguments

nodescraper/plugins/inband/cmdline/cmdline_collector.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
# SOFTWARE.
2424
#
2525
###############################################################################
26+
from typing import Optional
27+
2628
from nodescraper.base import InBandDataCollector
2729
from nodescraper.enums import EventCategory, EventPriority, ExecutionStatus, OSFamily
2830
from nodescraper.models import TaskResult
@@ -40,12 +42,12 @@ class CmdlineCollector(InBandDataCollector[CmdlineDataModel, None]):
4042
def collect_data(
4143
self,
4244
args=None,
43-
) -> tuple[TaskResult, CmdlineDataModel | None]:
45+
) -> tuple[TaskResult, Optional[CmdlineDataModel]]:
4446
"""
4547
Collects the cmdline data from the system.
4648
4749
Returns:
48-
tuple[TaskResult, CmdlineDataModel | None]: tuple containing the task result and the cmdline data model if successful, otherwise None.
50+
tuple[TaskResult, Optional[CmdlineDataModel]]: tuple containing the task result and the cmdline data model if successful, otherwise None.
4951
"""
5052
res = self._run_sut_cmd("cat /proc/cmdline")
5153
cmdline_data = None

nodescraper/plugins/inband/dimm/dimm_collector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class DimmCollector(InBandDataCollector[DimmDataModel, DimmCollectorArgs]):
4141
def collect_data(
4242
self,
4343
args: Optional[DimmCollectorArgs] = None,
44-
) -> tuple[TaskResult, DimmDataModel | None]:
44+
) -> tuple[TaskResult, Optional[DimmDataModel]]:
4545
"""Collect data on installed DIMMs"""
4646
if args is None:
4747
args = DimmCollectorArgs()

nodescraper/plugins/inband/dkms/analyzer_args.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# SOFTWARE.
2424
#
2525
###############################################################################
26-
from typing import Any
26+
from typing import Any, Union
2727

2828
from pydantic import Field, field_validator
2929

@@ -32,8 +32,8 @@
3232

3333

3434
class DkmsAnalyzerArgs(AnalyzerArgs):
35-
dkms_status: str | list = Field(default_factory=list)
36-
dkms_version: str | list = Field(default_factory=list)
35+
dkms_status: Union[str, list] = Field(default_factory=list)
36+
dkms_version: Union[str, list] = Field(default_factory=list)
3737
regex_match: bool = False
3838

3939
def model_post_init(self, __context: Any) -> None:
@@ -42,11 +42,11 @@ def model_post_init(self, __context: Any) -> None:
4242

4343
@field_validator("dkms_status", mode="before")
4444
@classmethod
45-
def validate_dkms_status(cls, dkms_status: str | list) -> list:
45+
def validate_dkms_status(cls, dkms_status: Union[str, list]) -> list:
4646
"""support str or list input for dkms_status
4747
4848
Args:
49-
dkms_status (str | list): dkms status to check
49+
dkms_status (Union[str, list]): dkms status to check
5050
5151
Returns:
5252
list: list of dkms status
@@ -58,11 +58,11 @@ def validate_dkms_status(cls, dkms_status: str | list) -> list:
5858

5959
@field_validator("dkms_version", mode="before")
6060
@classmethod
61-
def validate_dkms_version(cls, dkms_version: str | list) -> list:
61+
def validate_dkms_version(cls, dkms_version: Union[str, list]) -> list:
6262
"""support str or list input for dkms_version
6363
6464
Args:
65-
dkms_version (str | list): dkms version to check
65+
dkms_version (Union[str, list]): dkms version to check
6666
6767
Returns:
6868
list: list of dkms version

0 commit comments

Comments
 (0)