feat: v2 API - 마스터 JSON 기반, 카테고리별 템플릿
This commit is contained in:
70
test_v2.py
Normal file
70
test_v2.py
Normal file
@@ -0,0 +1,70 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
v2 API 테스트 - 마스터 JSON 기반 PDF 렌더링
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
sys.path.insert(0, os.path.dirname(__file__))
|
||||
|
||||
from animal_med import AnimalMedRendererV2
|
||||
|
||||
|
||||
def main():
|
||||
print("=" * 60)
|
||||
print("동물약 복약안내 v2 API 테스트")
|
||||
print("=" * 60)
|
||||
|
||||
renderer = AnimalMedRendererV2()
|
||||
|
||||
# 마스터 약품 목록
|
||||
print("\n[1] 마스터 약품 목록:")
|
||||
for drug in renderer.list_drugs():
|
||||
print(f" {drug['product_id']} - {drug['name']} ({drug['category_display']})")
|
||||
|
||||
# 테스트: 넥스가드 스펙트라 (구충제) + 아시카프 (NSAIDs)
|
||||
test_ids = ["MASTER-001", "MASTER-002"]
|
||||
|
||||
print(f"\n[2] PDF 렌더링 ({len(test_ids)}개 약품)")
|
||||
for pid in test_ids:
|
||||
drug = renderer.get_drug(pid)
|
||||
if drug:
|
||||
print(f" - {drug['name']} ({drug['category']})")
|
||||
|
||||
# PDF 생성
|
||||
output_dir = os.path.join(os.path.dirname(__file__), 'output')
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
pdf_path = os.path.join(output_dir, 'master_v2_test.pdf')
|
||||
|
||||
print(f"\n[3] PDF 생성 중...")
|
||||
|
||||
result = renderer.render_to_pdf(
|
||||
product_ids=test_ids,
|
||||
output_path=pdf_path,
|
||||
patient_name="이보호자",
|
||||
pet_name="콩이",
|
||||
pet_species="비숑프리제",
|
||||
pet_age="4세"
|
||||
)
|
||||
|
||||
if result['success']:
|
||||
print(f" ✅ 성공!")
|
||||
print(f" 📄 PDF: {result['pdf_path']}")
|
||||
print(f" 약품: {', '.join(result['drugs'])}")
|
||||
|
||||
size = os.path.getsize(pdf_path)
|
||||
print(f" 크기: {size / 1024:.1f} KB")
|
||||
|
||||
import fitz
|
||||
doc = fitz.open(pdf_path)
|
||||
print(f" 페이지 수: {len(doc)}")
|
||||
doc.close()
|
||||
else:
|
||||
print(f" ❌ 실패: {result.get('error')}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user