EuljiroWorship Documentation
- Location:
EuljiroWorship/
- 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.
EuljiroWorship is a PySide6-based worship slide generator/controller system for Korean church worship environments. The UI is currently Korean-first, with a future plan to support internationalization for wider usage.
Contents
- Modules
- EuljiroWorship
- controller
- controller.helper
- controller.ui
- controller.ui.emergency_caption_dialog
EmergencyCaptionDialogEmergencyCaptionDialog.finalized_slidesEmergencyCaptionDialog.previewed_onceEmergencyCaptionDialog.versionsEmergencyCaptionDialog.__init__()EmergencyCaptionDialog._current_manual_style_code()EmergencyCaptionDialog.update_manual_media_ui()EmergencyCaptionDialog.on_manual_media_path_changed()EmergencyCaptionDialog.select_media_file()EmergencyCaptionDialog.copy_media_to_img_folder()EmergencyCaptionDialog._resolve_preview_path()EmergencyCaptionDialog._load_image_preview()EmergencyCaptionDialog._load_video_preview()EmergencyCaptionDialog.play_preview()EmergencyCaptionDialog.pause_preview()EmergencyCaptionDialog.stop_preview()EmergencyCaptionDialog.get_inputs()EmergencyCaptionDialog.handle_verse_enter()EmergencyCaptionDialog.handle_keyword_search()EmergencyCaptionDialog.on_confirm_clicked()EmergencyCaptionDialog.show_preview()EmergencyCaptionDialog.on_keyword_search()EmergencyCaptionDialog.on_result_selected()EmergencyCaptionDialog.build_non_bible_slides()EmergencyCaptionDialog.get_final_slides()
- controller.ui.slide_controller_ui_builder
- controller.ui.emergency_caption_dialog
- controller.utils
- controller.utils.emergency_caption_handler
- controller.utils.emergency_slide_factory
EmergencySlideFactoryEmergencySlideFactory.VERSION_ALIASESEmergencySlideFactory.loaderEmergencySlideFactory.__init__()EmergencySlideFactory.create_from_input()EmergencySlideFactory.build_bible_slides()EmergencySlideFactory.create_from_respo()EmergencySlideFactory.format_responsive_text()EmergencySlideFactory.create_from_hymn()EmergencySlideFactory.create_manual_slide()
- controller.utils.interruptor_watcher
- controller.utils.keyword_highlight_delegate
- controller.utils.keyword_result_model_light
KeywordResultTableModelLightKeywordResultTableModelLight.resultsKeywordResultTableModelLight.book_namesKeywordResultTableModelLight.__init__()KeywordResultTableModelLight.load_book_names()KeywordResultTableModelLight.rowCount()KeywordResultTableModelLight.columnCount()KeywordResultTableModelLight.data()KeywordResultTableModelLight.headerData()
- controller.utils.slide_controller_data_manager
SlideControllerDataManagerSlideControllerDataManager.slide_fileSlideControllerDataManager.slidesSlideControllerDataManager.indexSlideControllerDataManager.last_slide_indexSlideControllerDataManager.__init__()SlideControllerDataManager.load_slides()SlideControllerDataManager.backup_slides()SlideControllerDataManager.restore_from_backup()SlideControllerDataManager.clear_backups()
- controller.utils.slide_file_watcher
- controller.utils.slide_websocket_manager
- controller.slide_controller
launch_interruptor()SlideControllerSlideController.slide_fileSlideController.ws_uriSlideController.dataSlideController.slidesSlideController.indexSlideController.index_backupSlideController.emergency_modeSlideController.slide_factorySlideController.ws_managerSlideController.caption_handlerSlideController.__init__()SlideController.insert_blank_if_needed()SlideController.load_slides()SlideController.keyPressEvent()SlideController.update_label()SlideController.send_current_slide()SlideController.next_slide()SlideController.prev_slide()SlideController.on_cell_clicked()SlideController.on_slide_changed()SlideController.on_slide_cleared()SlideController.on_interruptor_cleared()SlideController.eventFilter()SlideController.launch_emergency_caption()SlideController.jump_to_index()SlideController.jump_to_previous()SlideController.jump_to_next()SlideController.jump_to_page()SlideController.clear_emergency_caption()SlideController.rebuild_table()SlideController.closeEvent()
main()
- core
- core.config
- core.generator
- core.generator.ui
- core.generator.ui.contents
- core.generator.ui.contents.anthem_content
- core.generator.ui.contents.corner_content
- core.generator.ui.contents.greet_content
- core.generator.ui.contents.hymn_content
HymnContentHymnContent.captionHymnContent.headlineHymnContent.hymn_dataHymnContent.generator_windowHymnContent.number_inputHymnContent.title_editHymnContent.headline_editHymnContent.load_buttonHymnContent.save_buttonHymnContent.submitterHymnContent.__init__()HymnContent.build_ui()HymnContent.load_hymn_by_number()HymnContent.build_hymn_slide()HymnContent.get_hymn_number_range()HymnContent.get_slide_data()HymnContent.save_hymn_json()
- core.generator.ui.contents.image_content
ImageContentImageContent.captionImageContent.headlineImageContent.generator_windowImageContent.headline_labelImageContent.headline_editImageContent.caption_labelImageContent.caption_editImageContent.image_buttonImageContent.image_previewImageContent.submitterImageContent.__init__()ImageContent.build_ui()ImageContent.select_image()ImageContent.copy_to_img_folder()ImageContent.build_image_slide()ImageContent.get_slide_data()ImageContent.set_content()
- core.generator.ui.contents.lyrics_content
LyricsContentLyricsContent.captionLyricsContent.headlineLyricsContent.generator_windowLyricsContent.caption_labelLyricsContent.caption_editLyricsContent.headline_labelLyricsContent.headline_editLyricsContent.submitterLyricsContent.__init__()LyricsContent.build_ui()LyricsContent.build_lyrics_slide()LyricsContent.get_slide_data()
- core.generator.ui.contents.prayer_content
PrayerContentPrayerContent.captionPrayerContent.headlinePrayerContent.generator_windowPrayerContent.caption_labelPrayerContent.caption_editPrayerContent.headline_labelPrayerContent.headline_editPrayerContent.submitterPrayerContent.__init__()PrayerContent.build_ui()PrayerContent.build_prayer_slide()PrayerContent.get_slide_data()
- core.generator.ui.contents.respo_content
RespoContentRespoContent.captionRespoContent.headlineRespoContent.respo_dataRespoContent.generator_windowRespoContent.number_inputRespoContent.load_buttonRespoContent.capt_editRespoContent.tableRespoContent.save_buttonRespoContent.submitterRespoContent.__init__()RespoContent.build_ui()RespoContent.load_respo_by_number()RespoContent.build_respo_slide()RespoContent.get_respo_number_range()RespoContent.get_slide_data()RespoContent.format_responsive_text()RespoContent.save_respo_json()
- core.generator.ui.contents.verse_content
VerseContentVerseContent.captionVerseContent.headlineVerseContent.generator_windowVerseContent.VERSION_ALIASESVerseContent.versionsVerseContent.version_dropdownVerseContent.caption_editVerseContent.headline_editVerseContent.submitterVerseContent.generated_slidesVerseContent.__init__()VerseContent.build_ui()VerseContent.try_fetch_verse_output()VerseContent.build_verse_slide()VerseContent.get_slide_data()
- core.generator.ui.contents.video_content
VideoContentVideoContent.captionVideoContent.headlineVideoContent.generator_windowVideoContent.playerVideoContent.audioVideoContent.video_widgetVideoContent.headline_editVideoContent.caption_editVideoContent.video_buttonVideoContent.preview_labelVideoContent.play_buttonVideoContent.pause_buttonVideoContent.stop_buttonVideoContent.submitterVideoContent.__init__()VideoContent.build_ui()VideoContent._init_player()VideoContent.select_video()VideoContent.copy_to_img_folder()VideoContent._load_preview_from_absolute_path()VideoContent._load_preview_from_relative_path()VideoContent.play_preview()VideoContent.pause_preview()VideoContent.stop_preview()VideoContent.build_video_slide()VideoContent.get_slide_data()VideoContent.set_content()
- core.generator.ui.settings_dialog
- core.generator.ui.slide_generator
SlideGeneratorSlideGenerator.first_save_doneSlideGenerator.reverse_style_aliasesSlideGenerator.tableSlideGenerator.detail_widgetSlideGenerator.slide_controller_launcherSlideGenerator.table_managerSlideGenerator.data_managerSlideGenerator.ui_builderSlideGenerator.worship_nameSlideGenerator.last_saved_pathSlideGenerator.__init__()SlideGenerator.save_slides_to_file()SlideGenerator.handle_ctrl_s()SlideGenerator._get_default_load_directory()SlideGenerator._prompt_worship_title()SlideGenerator._resolve_selected_session_path()SlideGenerator.prompt_load_from_file()SlideGenerator.load_from_file()SlideGenerator.save_as()SlideGenerator.save_to_file()SlideGenerator._get_announcement_import_settings_path()SlideGenerator._load_announcement_import_settings()SlideGenerator._save_announcement_import_settings()SlideGenerator._prompt_announcement_import_range()SlideGenerator._find_slide_index_by_headline()SlideGenerator._load_slide_list_into_table()SlideGenerator._compact_order_text()SlideGenerator._split_choir_caption_parts()SlideGenerator._get_default_bible_version_for_order_import()SlideGenerator._build_hymn_slide_from_number()SlideGenerator._build_respo_slide_from_number()SlideGenerator._build_verse_slide_from_reference()SlideGenerator._classify_worship_order_slide()SlideGenerator._describe_worship_order_slide()SlideGenerator._prompt_remove_missing_worship_order()SlideGenerator._remove_worship_order_block()SlideGenerator._build_worship_order_blocks()SlideGenerator._build_new_worship_order_block()SlideGenerator._update_worship_order_block()SlideGenerator._apply_worship_order_entries()SlideGenerator._split_music_group_parts()SlideGenerator._classify_praise_service_slide()SlideGenerator._build_praise_service_blocks()SlideGenerator._remove_exact_caption_suffix_from_imported_text()SlideGenerator._build_new_praise_service_block()SlideGenerator._update_praise_service_block()SlideGenerator._flatten_slide_blocks()SlideGenerator._apply_praise_service_order_entries()SlideGenerator.import_worship_order_from_hwpx()SlideGenerator.import_praise_service_order_from_hwpx()SlideGenerator._replace_announcement_block_in_slides()SlideGenerator.import_announcements_from_hwpx()SlideGenerator.import_worship_order_and_announcements_from_hwpx()SlideGenerator.import_praise_service_order_and_announcements_from_hwpx()SlideGenerator.import_announcements()SlideGenerator.warn_if_controller_running()SlideGenerator.export_slides_for_overlay()SlideGenerator.handle_table_double_click()SlideGenerator.open_settings_dialog()SlideGenerator.apply_generator_font_settings()
- core.generator.ui.slide_generator_dialog
- core.generator.ui.slide_generator_right_contents
- core.generator.ui.slide_generator_ui_builder
- core.generator.ui.slide_table_manager
SlideTableManagerSlideTableManager.tableSlideTableManager.generatorSlideTableManager.__init__()SlideTableManager.add_row()SlideTableManager.insert_row()SlideTableManager.handle_combo_change_by_row()SlideTableManager.delete_selected_row()SlideTableManager.duplicate_selected_row()SlideTableManager.move_row_up()SlideTableManager.move_row_down()SlideTableManager.swap_rows()
- core.generator.ui.contents
- core.generator.utils
- core.generator.utils.icon_helpers
- core.generator.utils.segment_utils
- core.generator.utils.slide_exporter
- core.generator.utils.slide_generator_data_manager
SlideGeneratorDataManagerSlideGeneratorDataManager.tableSlideGeneratorDataManager.loaderSlideGeneratorDataManager.__init__()SlideGeneratorDataManager.load_from_file()SlideGeneratorDataManager.save_to_file()SlideGeneratorDataManager.collect_slide_data()SlideGeneratorDataManager._insert_empty_row()SlideGeneratorDataManager._split_verse_headline()
- core.generator.utils.slide_input_submitter
- core.generator.utils.text_splitter
- core.generator.utils.hwpx_announcement_parser
- core.generator.utils.hwpx_worship_order_parser
- core.generator.settings_generator
- core.generator.settings_last_path
- core.generator.ui
- core.plugin
- core.utils
- core.utils.bible_data_loader
BibleDataLoaderBibleDataLoader.json_dirBibleDataLoader.text_dirBibleDataLoader.aliases_versionBibleDataLoader.aliases_bookBibleDataLoader.standard_bookBibleDataLoader.sort_orderBibleDataLoader.dataBibleDataLoader.__init__()BibleDataLoader.get_verses()BibleDataLoader.get_books_for_version()BibleDataLoader._load_json()BibleDataLoader.get_standard_book()BibleDataLoader.get_sort_key()BibleDataLoader.load_version()BibleDataLoader.load_versions()BibleDataLoader.get_max_verse()BibleDataLoader.extract_verses()BibleDataLoader.get_verses_for_display()BibleDataLoader.get_book_alias()BibleDataLoader.get_version_alias()BibleDataLoader.get_verse()
- core.utils.bible_keyword_searcher
- core.utils.bible_parser
- core.utils.logger
- core.utils.runtime_launcher
- core.utils.bible_data_loader
- server