cli.cli_main

File:

EuljiroBible/cli/cli_main.py

Author:

Benjamin Jaedon Choi - https://github.com/saintbenjamin

Affiliated Church:

The Eulji-ro Presbyterian Church [대한예수교장로회(통합) 을지로교회]

Address:

The Eulji-ro Presbyterian Church, 24-10, Eulji-ro 20-gil, Jung-gu, Seoul 04549, South Korea

Telephone:

+82-2-2266-3070

E-mail:

euljirochurch [at] G.M.A.I.L. (replace [at] with @ and G.M.A.I.L as you understood.)

License:

MIT License with Attribution Requirement (see LICENSE file for details); Copyright (c) 2025 The Eulji-ro Presbyterian Church.

Command-line entry point for the EuljiroBible CLI interface.

This module provides a minimal command dispatcher for the CLI. It parses sys.argv and routes execution to the appropriate command handler.

Supported commands:

Dispatch behavior:

  • If no arguments are provided, this module calls run_bible_command([]), which is expected to display CLI usage and available versions.

  • If the first token is an unknown command, this module falls back to treating the entire argument list as a bible command. This preserves a simple UX where users can type version/book references directly without explicitly prefixing bible.

Note

  • This module intentionally keeps parsing and routing logic small. Command semantics, validation, I/O, and user-facing messages belong in cli.commands.

  • CLI error messages are expected to be English-only by project convention.

Example

Typical usage patterns:

$ bible NKRV John 3:16
$ bible search NKRV "God so loved"
$ bible NKRV John 3:16   # falls back to 'bible' command
cli.cli_main.main()[source]

Main entry point for the CLI version of EuljiroBible.

This function reads command-line arguments from sys.argv and dispatches execution to the appropriate command handler.

Behavior:
Returns:

None