From 46f0d918efc074a3df0d56f94f755e1371d899f0 Mon Sep 17 00:00:00 2001 From: Avasam Date: Sat, 31 Dec 2022 17:52:26 -0500 Subject: [PATCH] A more accurate `termcolor.colored` fallback (#9435) --- scripts/runtests.py | 3 ++- tests/utils.py | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/scripts/runtests.py b/scripts/runtests.py index 4f930e3d4..b2e2010d0 100644 --- a/scripts/runtests.py +++ b/scripts/runtests.py @@ -7,12 +7,13 @@ import re import subprocess import sys from pathlib import Path +from typing import Iterable try: from termcolor import colored except ImportError: - def colored(text: str, color: str = "") -> str: # type: ignore[misc] + def colored(text: str, color: str | None = None, on_color: str | None = None, attrs: Iterable[str] | None = None) -> str: return text diff --git a/tests/utils.py b/tests/utils.py index cdfba9800..208bab902 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -10,13 +10,21 @@ import venv from collections.abc import Mapping from functools import cache from pathlib import Path -from typing import NamedTuple +from typing import Iterable, NamedTuple from typing_extensions import Annotated import pathspec # type: ignore[import] import tomli from packaging.requirements import Requirement +try: + from termcolor import colored as colored +except ImportError: + + def colored(text: str, color: str | None = None, on_color: str | None = None, attrs: Iterable[str] | None = None) -> str: + return text + + # Used to install system-wide packages for different OS types: METADATA_MAPPING = {"linux": "apt_dependencies", "darwin": "brew_dependencies", "win32": "choco_dependencies"} @@ -25,14 +33,6 @@ def strip_comments(text: str) -> str: return text.split("#")[0].strip() -try: - from termcolor import colored as colored -except ImportError: - - def colored(s: str, _: str) -> str: # type: ignore[misc] - return s - - def print_error(error: str, end: str = "\n", fix_path: tuple[str, str] = ("", "")) -> None: error_split = error.split("\n") old, new = fix_path