- _ext_hwp: list 대신 문자열 경로 사용 (BodyText/SectionN)
- _ext_hwp: OLE 항목 대소문자 무시 비교
- _ext_hwp: 각 단계별 명시적 오류 메시지 + print 로그
- _ext_hwp: zlib 실패 시 일반 zlib 재시도 후 raw 폴백
- /extract: str(e) 빈 문자열이면 type name 대신 사용
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix: HWP 섹션 이름 동적 탐색으로 수정 (Section0001 → Section0 대응)
ole.listdir()로 BodyText 하위 Section* 스트림을 실제 이름으로 찾도록 변경.
기존 하드코딩(Section{idx:04d})이 Section0, Section1 형식과 불일치해
텍스트가 빈 문자열로 반환되던 문제 수정.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- app.py: FastAPI title '한전' 제거
- index.html: title/h1 '한전' 제거
- index.html: 파일 오류 시 빨간 텍스트로 표시
- index.html: 빈 입력으로 검토 클릭 시 textarea 빨간 테두리 + 포커스
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- requirements.txt: olefile==0.47 추가
- Dockerfile: libreoffice-writer 제거 (이미지 크기 대폭 감소)
- app.py: _ext_hwp()를 OLE2 직접 파싱 방식으로 재구현
(HWPTAG_PARA_TEXT 레코드에서 UTF-16LE 텍스트 추출)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- app.py: _load_examples() 헬퍼 + GET /examples/{doc_type} 엔드포인트 추가
- index.html: 작성 모드에서 /examples 먼저 호출해 시스템 프롬프트에 예시 주입
- datas/공문-외부발송, datas/공문-내부, datas/보고서 폴더 생성
(파일 추가 시 자동으로 few-shot 참고로 활용됨)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Dockerfile: libreoffice-writer 설치 추가
- app.py: _ext_hwp()를 LibreOffice --headless 방식으로 구현
(pyhwp 대신 LibreOffice subprocess로 .hwp → txt 변환)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix: pyhwp 제거 — Python 3.11 호환 불가, .hwp 업로드 시 안내 메시지 반환
- 공문-외부발송 / 공문-내부 / 보고서 3종 타입으로 전환
- 검토 버튼 클릭 시 타입 선택 모달 UI 추가
- /extract 엔드포인트 추가 (hwp/hwpx/docx/pdf/txt 파일 텍스트 추출)
- requirements.txt: pyhwp, pypdf, python-docx, python-multipart 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- app.py: 제목 업데이트 (Gongmun API → 한전 공문 검토·작성 API)
- static/index.html: 작성/검토 탭 UI 추가, 검토 시스템 프롬프트 3종 내장
- README.md: 설명 및 제목 업데이트
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Simplify hwpx: plain UTF-8 text with .hwpx extension