docs: 세션 종료 — devlog 2026-03-21 (3건) + known-issues singleByPath + entry

This commit is contained in:
2026-03-21 21:05:03 +09:00
parent 4352a6a5f9
commit 3c0202c42d
3 changed files with 32 additions and 1 deletions

View File

@@ -165,3 +165,9 @@
- **원인**: 블로그 포스트 제목에 에피소드 번호 없음 → `discovered_ep = None` → line 761/777 스킵 조건(`is not None`) 전부 False → 무조건 다운로드. `_extract_archive`도 기존 파일 존재 체크 없이 덮어씀
- **해결**: (1) `discovered_ep is None` + 모든 영상 에피소드에 자막 있으면 URL 페치 자체 스킵 (2) ZIP 해제 시 `out_path.exists()` 체크
- **주의**: 에피소드 기반 스킵은 `discovered_ep``sub.episode` 모두 None이면 완전 무력화. 반드시 **보충 체크** 필요
### [2026-03-21] wiki — singleByPath 미존재 페이지 에러
- **증상**: `upsert_page("new/path")` 호출 시 `RuntimeError: Wiki.js API 오류: This page does not exist`
- **원인**: Wiki.js `singleByPath` 쿼리는 미존재 페이지에 대해 null 대신 **GraphQL error**를 반환. 기존 `list_pages()` → 루프 패턴은 이 문제 없었음
- **해결**: `find_page()`에서 `RuntimeError` catch → `"does not exist"` 포함 시 `None` 반환. `wiki_debate.py``_query()`에서 동일 처리
- **주의**: Wiki.js GraphQL API는 not-found를 에러로 처리하는 경우가 있음. 새 쿼리 추가 시 반드시 미존재 케이스 테스트