diff --git a/elementary/cli/cli.py b/elementary/cli/cli.py index dfff97fed..e3cf2f0c4 100644 --- a/elementary/cli/cli.py +++ b/elementary/cli/cli.py @@ -3,6 +3,7 @@ import click +import elementary.cli.logo import elementary.cli.upgrade from elementary.config.config import Config from elementary.monitor.cli import monitor, report, send_report @@ -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..4659bcb7f --- /dev/null +++ b/elementary/cli/logo.py @@ -0,0 +1,21 @@ +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") diff --git a/elementary/config/config.py b/elementary/config/config.py index 2f61c89cb..044969733 100644 --- a/elementary/config/config.py +++ b/elementary/config/config.py @@ -206,6 +206,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) diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py index 4fd9a78ba..b60ae5d42 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 = { @@ -63,6 +64,13 @@ def test_disable_elementary_version_check(config: Config): ) +@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): assert config.is_slack_workflow == WORKFLOWS_CONFIG["slack"]["workflows"]