Cleanup: Deleting 03.Code/업로드용/handlers/doc/custom_doc_type.py
This commit is contained in:
@@ -1,80 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Custom Doc Type Handler
|
||||
- 사용자가 업로드한 HWPX를 분석하여 새로운 '문서 유형' 생성
|
||||
- Phase 1~3 전체 프로세스 오케스트레이션
|
||||
"""
|
||||
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
# 도구들
|
||||
from .doc_type_analyzer import DocTypeAnalyzer
|
||||
from ..template.doc_template_analyzer import DocTemplateAnalyzer
|
||||
from ..template.semantic_mapper import SemanticMapper
|
||||
from .content_analyzer import generate as generate_content_prompt
|
||||
|
||||
|
||||
class CustomDocTypeHandler:
|
||||
def __init__(self):
|
||||
self.doc_analyzer = DocTypeAnalyzer()
|
||||
self.temp_analyzer = DocTemplateAnalyzer()
|
||||
self.semantic_mapper = SemanticMapper()
|
||||
|
||||
def create_from_hwpx(self, file_path: str, doc_name: str,
|
||||
description: str = "") -> dict:
|
||||
"""
|
||||
HWPX 파일을 분석하여 새로운 유저 문서 유형 생성
|
||||
"""
|
||||
try:
|
||||
# 1. HWPX 파싱 (구조/텍스트/XML 추출)
|
||||
print(f"[Phase 1] Parsing HWPX: {file_path}")
|
||||
parsed = self.doc_analyzer.parse(file_path)
|
||||
|
||||
# 2. 문서 구조 분석 (디자인/레이아웃 추출)
|
||||
print("[Phase 2] Analyzing Template Layout...")
|
||||
template_info = self.temp_analyzer.analyze(parsed)
|
||||
|
||||
# 3. 시맨틱 맵핑 (섹션 의미/역할 분석)
|
||||
print("[Phase 3] Semantic Mapping...")
|
||||
semantic_map = self.semantic_mapper.map_parsed(parsed)
|
||||
|
||||
# 4. 콘텐츠 프롬프트 생성 (Placeholder 추출)
|
||||
print("[Phase 4] Generating Content Prompt...")
|
||||
content_prompt = generate_content_prompt(
|
||||
template_info, semantic_map, parsed)
|
||||
|
||||
# 5. 결과 조합
|
||||
result = {
|
||||
"template_id": None, # 유저 커스텀은 ID 없음
|
||||
"layout": template_info,
|
||||
"context": semantic_map.get("context", {}),
|
||||
"structure": semantic_map.get("structure", {}),
|
||||
"content_prompt": content_prompt
|
||||
}
|
||||
|
||||
# 6. 설정 파일 생성
|
||||
config = self.doc_analyzer._generate_config(
|
||||
doc_name, description, result)
|
||||
|
||||
# 7. 파일 시스템 저장
|
||||
# (이 부분은 실제 환경에 맞춰 조정 필요)
|
||||
save_dir = self.doc_analyzer.save_doc_type(
|
||||
config, template=None)
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"doc_id": config["id"],
|
||||
"save_path": save_dir,
|
||||
"config": config
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
import traceback
|
||||
return {
|
||||
"success": False,
|
||||
"error": str(e),
|
||||
"trace": traceback.format_exc()
|
||||
}
|
||||
Reference in New Issue
Block a user