summaryrefslogtreecommitdiff
path: root/robusta_krr
diff options
context:
space:
mode:
authorRobusta Runner <aantny@gmail.com>2024-03-02 10:04:15 +0200
committerRobusta Runner <aantny@gmail.com>2024-03-02 10:04:15 +0200
commitd62bbe10d23210d7c0d8e8f7fed233e16b27fa37 (patch)
tree207c36299acc615758065489fc3f8dfcf0fe0123 /robusta_krr
parent4b87b60319d9208a1e45acdb8ab9b988c41a5681 (diff)
Fixes #214
Diffstat (limited to 'robusta_krr')
-rw-r--r--robusta_krr/core/runner.py23
-rw-r--r--robusta_krr/utils/print.py14
2 files changed, 15 insertions, 22 deletions
diff --git a/robusta_krr/core/runner.py b/robusta_krr/core/runner.py
index 787c3a4..65b3873 100644
--- a/robusta_krr/core/runner.py
+++ b/robusta_krr/core/runner.py
@@ -17,13 +17,21 @@ from robusta_krr.core.models.config import settings
from robusta_krr.core.models.objects import K8sObjectData
from robusta_krr.core.models.result import ResourceAllocations, ResourceScan, ResourceType, Result, StrategyData
from robusta_krr.utils.logo import ASCII_LOGO
-from robusta_krr.utils.print import print
from robusta_krr.utils.progress_bar import ProgressBar
from robusta_krr.utils.version import get_version
logger = logging.getLogger("krr")
+def custom_print(*objects, rich: bool = True, force: bool = False) -> None:
+ """
+ A wrapper around `rich.print` that prints only if `settings.quiet` is False.
+ """
+ print_func = settings.logging_console.print if rich else print
+ if not settings.quiet or force:
+ print_func(*objects) # type: ignore
+
+
class Runner:
EXPECTED_EXCEPTIONS = (KeyboardInterrupt, PrometheusNotFound)
@@ -58,18 +66,17 @@ class Runner:
if settings.quiet:
return
- print(ASCII_LOGO)
- print(f"Running Robusta's KRR (Kubernetes Resource Recommender) {get_version()}")
- print(f"Using strategy: {self._strategy}")
- print(f"Using formatter: {settings.format}")
- print("")
+ custom_print(ASCII_LOGO)
+ custom_print(f"Running Robusta's KRR (Kubernetes Resource Recommender) {get_version()}")
+ custom_print(f"Using strategy: {self._strategy}")
+ custom_print(f"Using formatter: {settings.format}")
+ custom_print("")
def _process_result(self, result: Result) -> None:
Formatter = settings.Formatter
formatted = result.format(Formatter)
rich = getattr(Formatter, "__rich_console__", False)
- print(formatted, rich=rich, force=True)
if settings.file_output or settings.slack_output:
if settings.file_output:
file_name = settings.file_output
@@ -77,7 +84,7 @@ class Runner:
file_name = settings.slack_output
with open(file_name, "w") as target_file:
sys.stdout = target_file
- print(formatted, rich=rich, force=True)
+ custom_print(formatted, rich=rich, force=True)
sys.stdout = sys.stdout
if settings.slack_output:
client = WebClient(os.environ["SLACK_BOT_TOKEN"])
diff --git a/robusta_krr/utils/print.py b/robusta_krr/utils/print.py
deleted file mode 100644
index 093cc44..0000000
--- a/robusta_krr/utils/print.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from robusta_krr.core.models.config import settings
-
-
-def print(*objects, rich: bool = True, force: bool = False) -> None:
- """
- A wrapper around `rich.print` that prints only if `settings.quiet` is False.
- """
- print_func = settings.logging_console.print if rich else print
-
- if not settings.quiet or force:
- print_func(*objects) # type: ignore
-
-
-__all__ = ["print"]