core.config.paths

File:

EuljiroWorship/core/config/paths.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.

Defines core directory and file paths used across the EuljiroWorship and EuljiroBible systems.

This module centralizes all filesystem paths required by the project, including:

  • Base project directories (root, store, settings, assets)

  • Generator and controller output files

  • Emergency verse output path for overlay systems

  • Bible data directories and alias/config JSON files

  • Shared paths used by both GUI and CLI components

All paths are resolved relative to the project root to ensure consistent behavior across platforms (Windows, macOS, Linux).

core.config.paths._resolve_base_dir()[source]

Resolve the runtime application root directory.

In source execution, the root is derived from this module’s location. In frozen execution (e.g., a PyInstaller one-dir build), user-facing resource folders such as data/ and json/ live next to the executable rather than next to the bundled Python modules under _internal/.

Returns:

Absolute path to the runtime application root directory.

Return type:

str

core.config.paths.BASE_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship'

Absolute path to the project root directory.

core.config.paths.STORE_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/store'

Directory for slide output and backup files (under BASE_DIR/store).

core.config.paths.SETTING_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/json'

Directory for JSON configs and settings (under BASE_DIR/json).

core.config.paths.ICON_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/assets/svg'

Directory for SVG icon assets (under BASE_DIR/assets/svg).

core.config.paths.APP_ICON_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/assets/icons'

Directory containing application icon files (under BASE_DIR/assets/icons).

core.config.paths.ICON_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/assets/icons/thepck.ico'

Primary application icon file used for Windows executable / Qt window icons.

core.config.paths.VERSE_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/verse_output.txt'

Emergency verse output file path (typically BASE_DIR/verse_output.txt).

This file is written by the emergency caption flow and monitored by helper processes such as the verse interruptor.

core.config.paths.SETTING_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/settings.json'

Main application settings JSON file (typically json/settings.json).

core.config.paths.SETTING_LAST_OPEN_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/settings_last_path.json'

JSON file storing the last opened path/session info (typically json/settings_last_path.json).

core.config.paths.SLIDE_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/store/slide_output.json'

Main slide output JSON file written for overlay display (typically store/slide_output.json).

core.config.paths.SLIDE_BACKUP_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/store/slide_output_backup.json'

Backup of the previous slide output used for restoration after emergency mode (typically store/slide_output_backup.json).

core.config.paths.BIBLE_DATA_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/data'

Directory containing Bible version JSON data files (typically data/).

core.config.paths.JSON_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/json'

Directory containing JSON configs.

This directory is the same physical location as SETTING_DIR.

core.config.paths.BIBLE_NAME_DIR = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible'

Directory containing Bible name/version alias JSON files (typically json/bible/).

core.config.paths.ALIASES_VERSION_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible/aliases_version.json'

GUI Bible version alias mapping JSON file.

core.config.paths.ALIASES_VERSION_CLI_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible/aliases_version_cli.json'

CLI Bible version alias mapping JSON file (simplified aliases for CLI parsing).

core.config.paths.ALIASES_BOOK_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible/aliases_book.json'

Book name alias mapping JSON file.

core.config.paths.STANDARD_BOOK_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible/standard_book.json'

Canonical book list JSON file used as the standard reference.

core.config.paths.SORT_ORDER_FILE = '/home/runner/work/EuljiroWorship/EuljiroWorship/json/bible/your_sort_order.json'

Custom book sort order JSON file.