feat(b09-print): 인쇄 미리보기 틀 — draft 길 선언 glob 등록 · 페이지(영역 셋 · 쪽 체크 · PDF 보기 · 내려받기) · 서버 표 PDF(Playwright) · 엑셀(openpyxl) · B09 Router 초안 길 끼우기 (302-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QfHKQs7J3hQELKMWQMUJEy
This commit is contained in:
@@ -29,6 +29,8 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import importlib
|
||||
import logging
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
from uuid import UUID
|
||||
@@ -341,3 +343,19 @@ async def library_inputs(
|
||||
|
||||
# 166-4 견적서 파일 길 — 같은 머리 · 같은 권한
|
||||
router.include_router(quotes_router)
|
||||
|
||||
|
||||
# 302 초안 길(draft/*_Router.py 의 router · 폴더째 지우면 길도 없음) — 같은 머리 · 같은 권한
|
||||
def include_drafts(target: APIRouter, folder: Path, package: str) -> list[str]:
|
||||
"""folder 의 *_Router.py 마다 router 를 끼움 → 끼운 파일 이름(못 읽은 초안은 건너뜀)."""
|
||||
done = []
|
||||
for path in sorted(folder.glob("*_Router.py")):
|
||||
try:
|
||||
target.include_router(importlib.import_module(f"{package}.{path.stem}").router)
|
||||
done.append(path.stem)
|
||||
except (ImportError, AttributeError) as error: # 한 초안이 막혀도 B09 는 뜸
|
||||
logging.getLogger(__name__).warning("초안 길 %s 못 읽음 — %s", path.name, error)
|
||||
return done
|
||||
|
||||
|
||||
include_drafts(router, Path(__file__).parent / "draft", "B09_Estimation.draft")
|
||||
|
||||
Reference in New Issue
Block a user