Skip to content

main

dandy.cli.main

CWD_PATH = Path.cwd() module-attribute

env_file_names = ['dandy.env', 'development.env', 'dev.env', '.env'] module-attribute

env_file_path = Path(CWD_PATH, env_file_name) module-attribute

env_term = Terminal() module-attribute

main

Source code in dandy/cli/main.py
def main() -> None:
    sys.path.append(str(CWD_PATH))

    check_or_create_settings(CWD_PATH)

    from dandy.conf import settings  # noqa: PLC0415

    settings.reload_from_os()

    session.post_init(project_base_path=CWD_PATH)
    session.load()

    if not session.is_loaded:
        session.save()

    from dandy.cli.cli import DandyCli  # noqa: PLC0415

    cli = DandyCli()

    if len(sys.argv) > 1:
        user_input = ' '.join(sys.argv[1:])

        if user_input[0] == '-':
            user_input = '/' + user_input[1:]

        if user_input[0] != '/':
            user_input = '/' + user_input

        arg_term = Terminal()

        print(arg_term.bold_blue('\nDandy'))

        cli.process_user_input(
            user_input=user_input
        )

    else:
        cli.run()

    print()