Skip to content

HwpxDocument에 컨텍스트 매니저 및 안전한 자원 정리 추가#17

Merged
airmang merged 1 commit into
mainfrom
codex/implement-context-manager-for-hwpxdocument
Feb 18, 2026
Merged

HwpxDocument에 컨텍스트 매니저 및 안전한 자원 정리 추가#17
airmang merged 1 commit into
mainfrom
codex/implement-context-manager-for-hwpxdocument

Conversation

@airmang
Copy link
Copy Markdown
Owner

@airmang airmang commented Feb 18, 2026

Motivation

  • HwpxDocumentwith 구문으로 안전하게 사용할 수 있도록 컨텍스트 매니저 진입/종료 동작과 자원 정리 정책을 도입했습니다.
  • 바이트 입력(HwpxDocument.open(bytes)) 등 내부에서 생성한 스트림을 문서 수명 종료 시 자동으로 정리하도록 처리해야 했습니다.

Description

  • HwpxDocument__enter__, __exit__, close() 메서드를 추가해 컨텍스트 매니저를 지원하고 close()는 멱등적으로 동작하도록 구현했습니다.
  • 내부 자원 정리 정책으로 flush() 가능한 자원은 먼저 flush()를 호출하고 이후 close()를 호출하며 정리 중 발생한 예외는 로깅 후 무시하도록 구현했습니다.
  • HwpxDocument.open(...)에서 bytes 입력 경로는 내부적으로 io.BytesIO 스트림을 생성하여 managed_resources에 등록하도록 변경해 블록 종료 시 자동 정리되도록 했습니다.
  • 문서(docs/quickstart.md)에 HwpxDocument.open(...)with 사용 예제를 추가하고, 자원 정리 동작을 검증하는 새로운 테스트 tests/test_document_context_manager.py를 추가했습니다.

Testing

  • pytest -q tests/test_document_context_manager.py를 실행했고 결과는 3 passed, 1 warning으로 테스트가 모두 성공했습니다.

Codex Task

@airmang airmang merged commit 743a3c3 into main Feb 18, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant