본문 바로가기
BibleAI/설치 및 활용법

e-Sword 주석 모듈 연동 업데이트

by 구봉환 2026. 2. 13.

e-Sword 주석 모듈 연동 업데이트

📋 변경 사항

새로 추가된 기능

e-Sword 형식 지원 (.cmti, .cmtx)

이번 업데이트에서 e-Sword 주석 모듈을 완벽하게 지원하도록 commentary_utils.py 파일을 수정했습니다.

지원되는 e-Sword 형식

1. CMTI 형식 (구형 e-Sword 주석)

  • BookCommentary 테이블: 책 서론
    • 컬럼: Book INT, Comments TEXT
  • ChapterCommentary 테이블: 장 서론
    • 컬럼: Book INT, Chapter INT, Comments TEXT
  • VerseCommentary 테이블: 절 주석
    • 컬럼: Book INT, ChapterBegin INT, ChapterEnd INT, VerseBegin INT, VerseEnd INT, Comments TEXT

2. CMTX 형식 (신형 e-Sword 주석)

  • Books 테이블: 책 서론
    • 컬럼: Book INT, Comments TEXT
  • Chapters 테이블: 장 서론
    • 컬럼: Book INT, Chapter INT, Comments TEXT
  • Verses 테이블: 절 주석
    • 컬럼: Book INT, ChapterBegin INT, ChapterEnd INT, VerseBegin INT, VerseEnd INT, Comments TEXT

주요 개선 사항

  1. RTF/HTML 태그 자동 제거
    • clean_rtf_html() 함수 추가
    • RTF 제어 코드 제거 (예: \u123, {\rtf...}, \par 등)
    • HTML 태그 제거 (예: <b>, <i>, <p> 등)
    • 여러 공백을 하나로 정리
    • 순수한 텍스트만 출력
  2. 자동 파일 스캔
    • .cmti.cmtx 파일을 자동으로 감지
    • 기존 형식(.mybible, .twm, .cdb 등)과 함께 작동
  3. 계층적 주석 검색
    • 절 주석 우선 검색
    • 절 주석이 없으면 장 서론 검색
    • 장이 0이면 책 서론 검색

🔧 설치 방법

1. 백업

기존 core/commentary_utils.py 파일을 백업하세요:

cp core/commentary_utils.py core/commentary_utils.py.backup

2. 파일 교체

다운로드한 commentary_utils.pycore 폴더에 복사하세요:

cp commentary_utils.py core/commentary_utils.py

3. e-Sword 모듈 배치

e-Sword 주석 파일(.cmti, .cmtx)을 다음 위치에 배치하세요:

  • commentaries/ 폴더 (자동 인식)
  • 또는 설정에서 선택한 검색 폴더

📖 사용 방법

예제 1: 절 주석 검색

책: 창세기
장: 1
절: 1

→ 창세기 1장 1절에 대한 모든 주석이 표시됩니다.

예제 2: 장 서론 검색

책: 요한복음
장: 3
절: 0

→ 요한복음 3장 서론이 표시됩니다.

예제 3: 책 서론 검색

책: 로마서
장: 0
절: 0

→ 로마서 책 서론이 표시됩니다.

🎯 지원되는 모든 형식

형식 확장자 설명
e-Sword (구형) .cmti Book/Chapter/VerseCommentary 테이블
e-Sword (신형) .cmtx Books/Chapters/Verses 테이블
MyBible .mybible, .cmt.mybible commentary 테이블
TheWord .twm, .cmt.twm bible_refs + content 테이블
Custom SQLite .sqlite3, .sqlite 유연한 스키마 추론
CrosswireDB .cdb Bible 테이블

📝 기술 상세

RTF 제거 정규표현식

# 유니코드 문자 변환
text = re.sub(r'\\u(-?\d+)\??', lambda m: chr(int(m.group(1))), text)

# RTF 제어 블록 제거
text = re.sub(r'\{\\[^\}]*\}', '', text)

# RTF 제어어 제거
text = re.sub(r'\\[a-z]{1,10}(-?\d+)?\s?', '', text)

# HTML 태그 제거
text = re.sub(r'<[^>]+>', '', text)

SQL 쿼리 예제 (CMTX)

-- 절 주석 검색
SELECT Comments FROM Verses
WHERE Book=? 
  AND ? BETWEEN ChapterBegin AND ChapterEnd
  AND ? BETWEEN VerseBegin AND VerseEnd

-- 장 서론 검색
SELECT Comments FROM Chapters
WHERE Book=? AND Chapter=?

-- 책 서론 검색
SELECT Comments FROM Books
WHERE Book=?

⚠️ 주의사항

  1. Book ID: 성경 책 번호는 1(창세기)부터 66(요한계시록)까지 표준 순서를 따릅니다.
  2. 인코딩: e-Sword 파일이 UTF-8로 인코딩되어야 합니다.
  3. 성능: 많은 주석 파일이 있을 경우 첫 검색 시 시간이 걸릴 수 있습니다.

🐛 문제 해결

주석이 표시되지 않을 때

  1. 파일 확장자가 .cmti 또는 .cmtx인지 확인
  2. 파일이 commentaries/ 폴더 또는 선택한 검색 폴더에 있는지 확인
  3. SQLite DB 구조가 올바른지 확인 (DB Browser for SQLite 사용)

텍스트가 깨질 때

  • clean_rtf_html() 함수가 제대로 작동하는지 확인
  • RTF 형식이 표준을 따르는지 확인

📞 지원

문제가 발생하면 다음 정보를 제공해주세요:

  1. e-Sword 파일 형식 (.cmti or .cmtx)
  2. 오류 메시지
  3. 검색한 성경 구절 정보

버전: 2.0
업데이트 날짜: 2026-02-12
호환성: BibleAI v281.36.144000 Agape

 

 

 

*** 대량 텍스트의 딥 리딩을 위한 별도 뷰어 - 크롬 브라우저의 번역 기능 이용 한글로 독서 가능