From 47e5b07eef4b2fb7c7e7bb798d412a3a2ff6fbd1 Mon Sep 17 00:00:00 2001 From: Nicholas Zeolla Date: Sun, 4 May 2025 17:39:40 +0100 Subject: [PATCH 1/3] Add function for disable_elementary_logo_print --- elementary/cli/cli.py | 11 ++--------- elementary/cli/logo.py | 19 +++++++++++++++++++ elementary/config/config.py | 4 ++++ 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 elementary/cli/logo.py diff --git a/elementary/cli/cli.py b/elementary/cli/cli.py index dfff97fed..e890bcba2 100644 --- a/elementary/cli/cli.py +++ b/elementary/cli/cli.py @@ -4,6 +4,7 @@ import click import elementary.cli.upgrade +import elementary.cli.logo from elementary.config.config import Config from elementary.monitor.cli import monitor, report, send_report from elementary.operations.cli import run_operation @@ -11,15 +12,7 @@ from elementary.utils import package from elementary.utils.log import get_logger, set_root_logger_handlers -ELEMENTARY_LOGO = r""" - ________ __ - / ____/ /__ ____ ___ ___ ____ / /_____ ________ __ - / __/ / / _ \/ __ `__ \/ _ \/ __ \/ __/ __ `/ ___/ / / / - / /___/ / __/ / / / / / __/ / / / /_/ /_/ / / / /_/ / -/_____/_/\___/_/ /_/ /_/\___/_/ /_/\__/\__,_/_/ \__, / - /____/ -""" -click.echo(f"{ELEMENTARY_LOGO}\n") +elementary.cli.logo.print_elementary_logo() elementary.cli.upgrade.recommend_version_upgrade() logger = get_logger(__name__) diff --git a/elementary/cli/logo.py b/elementary/cli/logo.py new file mode 100644 index 000000000..d3cf6ad6a --- /dev/null +++ b/elementary/cli/logo.py @@ -0,0 +1,19 @@ +import click +from elementary.config.config import Config + +ELEMENTARY_LOGO = r""" + ________ __ + / ____/ /__ ____ ___ ___ ____ / /_____ ________ __ + / __/ / / _ \/ __ `__ \/ _ \/ __ \/ __/ __ `/ ___/ / / / + / /___/ / __/ / / / / / __/ / / / /_/ /_/ / / / /_/ / +/_____/_/\___/_/ /_/ /_/\___/_/ /_/\__/\__,_/_/ \__, / + /____/ +""" + +def print_elementary_logo(): + config = Config() + + if config.disable_elementary_logo_print: + return + else: + click.echo(f"{ELEMENTARY_LOGO}\n") \ No newline at end of file diff --git a/elementary/config/config.py b/elementary/config/config.py index 3eaefef46..888782464 100644 --- a/elementary/config/config.py +++ b/elementary/config/config.py @@ -204,6 +204,10 @@ def __init__( "disable_elementary_version_check", False ) + self.disable_elementary_logo_print = config.get( + "disable_elementary_logo_print", False + ) + def _load_configuration(self) -> dict: if not os.path.exists(self.config_dir): os.makedirs(self.config_dir) From 6f451da2156d4a0e435ad4870185038f4d20af2e Mon Sep 17 00:00:00 2001 From: Nicholas Zeolla Date: Sun, 4 May 2025 17:57:29 +0100 Subject: [PATCH 2/3] Add tests --- tests/unit/config/test_config.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index 4fd9a78ba..21ddc16b8 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -16,6 +16,7 @@ "workflows": False, }, "disable_elementary_version_check": True, + "disable_elementary_logo_print": True, } WORKFLOWS_CONFIG = { @@ -62,6 +63,13 @@ def test_disable_elementary_version_check(config: Config): == CONFIG["disable_elementary_version_check"] ) +@pytest.mark.parametrize("config", [CONFIG], indirect=["config"]) +def test_disable_elementary_logo_print(config: Config): + assert ( + config.disable_elementary_logo_print + == CONFIG["disable_elementary_logo_print"] + ) + @pytest.mark.parametrize("config", [WORKFLOWS_CONFIG], indirect=["config"]) def test_slack_workflows_config_get_workflows(config: Config): From d0f03f7879bfde90ed7e893a6a929c5adcd07ddc Mon Sep 17 00:00:00 2001 From: Nicholas Zeolla Date: Wed, 7 May 2025 20:12:20 +0100 Subject: [PATCH 3/3] precommit resolve --- elementary/cli/cli.py | 2 +- elementary/cli/logo.py | 4 +++- tests/unit/config/test_config.py | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/elementary/cli/cli.py b/elementary/cli/cli.py index e890bcba2..e3cf2f0c4 100644 --- a/elementary/cli/cli.py +++ b/elementary/cli/cli.py @@ -3,8 +3,8 @@ import click -import elementary.cli.upgrade import elementary.cli.logo +import elementary.cli.upgrade from elementary.config.config import Config from elementary.monitor.cli import monitor, report, send_report from elementary.operations.cli import run_operation diff --git a/elementary/cli/logo.py b/elementary/cli/logo.py index d3cf6ad6a..4659bcb7f 100644 --- a/elementary/cli/logo.py +++ b/elementary/cli/logo.py @@ -1,4 +1,5 @@ import click + from elementary.config.config import Config ELEMENTARY_LOGO = r""" @@ -10,10 +11,11 @@ /____/ """ + def print_elementary_logo(): config = Config() if config.disable_elementary_logo_print: return else: - click.echo(f"{ELEMENTARY_LOGO}\n") \ No newline at end of file + click.echo(f"{ELEMENTARY_LOGO}\n") diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index 21ddc16b8..b60ae5d42 100644 --- a/tests/unit/config/test_config.py +++ b/tests/unit/config/test_config.py @@ -63,11 +63,11 @@ def test_disable_elementary_version_check(config: Config): == CONFIG["disable_elementary_version_check"] ) + @pytest.mark.parametrize("config", [CONFIG], indirect=["config"]) def test_disable_elementary_logo_print(config: Config): assert ( - config.disable_elementary_logo_print - == CONFIG["disable_elementary_logo_print"] + config.disable_elementary_logo_print == CONFIG["disable_elementary_logo_print"] )