From b6a68dd8779fd8564d043e2b83f6cb3eade2c1b8 Mon Sep 17 00:00:00 2001 From: Charis Poag Date: Wed, 18 Sep 2024 16:59:12 -0500 Subject: [PATCH] Fix amd-smi CLI calls returning TypeError $ amd-smi version TypeError: unsupported operand type(s) for |: 'type' and 'type' --------------- Python3 --versions lower than 3.10 do not support str | None Using typing Optional and Union, we can create equivalent logic for str | none and str | list | none Change-Id: I1f4a7ab67333914b33639dc62652881e1127411e Signed-off-by: Charis Poag [ROCm/amdsmi commit: 5c778cadf1f298d451ce1f2d92ce0137c4e233dd] --- projects/amdsmi/amdsmi_cli/amdsmi_parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/projects/amdsmi/amdsmi_cli/amdsmi_parser.py b/projects/amdsmi/amdsmi_cli/amdsmi_parser.py index 54008b8a3f..917f9731c4 100644 --- a/projects/amdsmi/amdsmi_cli/amdsmi_parser.py +++ b/projects/amdsmi/amdsmi_cli/amdsmi_parser.py @@ -27,6 +27,8 @@ import os import sys import time import collections +from typing import Optional +from typing import Union from pathlib import Path @@ -179,7 +181,7 @@ class AMDSMIParser(argparse.ArgumentParser): class AMDSMILimitArgs(argparse.Action): def __call__(self, parser: AMDSMIParser, namespace: argparse.Namespace, - values: str | list | None, option_string: str | None = None) -> None: + values: Union[str, list, None], option_string: Optional[str] = None) -> None: # valid values valid_clk_types = ('sclk', 'mclk') valid_lim_types = ('min', 'max')