File size: 2,600 Bytes
b4f2238 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | """
Documents Services 模块
包含所有文书生成相关的业务逻辑服务.
"""
import importlib
from typing import Any
__all__ = [
"FolderTemplateService",
"FolderTemplateAdminService",
"DocumentTemplateService",
"PlaceholderService",
"PlaceholderAdminService",
"GenerationService",
"ContractGenerationService",
# 证据清单服务
"EvidenceService",
"EvidenceAdminService",
"EvidenceExportService",
"EvidenceListPlaceholderService",
"PDFMergeService",
"TemplateAuditLogService",
]
_LAZY_EXPORTS: dict[str, tuple[str, str]] = {
"EvidenceAdminService": ("apps.evidence.services.evidence_admin_service", "EvidenceAdminService"),
"EvidenceExportService": ("apps.evidence.services.evidence_export_service", "EvidenceExportService"),
"EvidenceListPlaceholderService": (
"apps.evidence.services.evidence_list_placeholder_service",
"EvidenceListPlaceholderService",
),
"EvidenceService": ("apps.evidence.services.evidence_service", "EvidenceService"),
"FolderTemplateService": ("apps.documents.services.template.folder_service", "FolderTemplateService"),
"FolderTemplateAdminService": (
"apps.documents.services.template.folder_template.admin_service",
"FolderTemplateAdminService",
),
"ContractGenerationService": (
"apps.documents.services.generation.contract_generation_service",
"ContractGenerationService",
),
"GenerationService": ("apps.documents.services.generation.generation_service", "GenerationService"),
"PDFMergeService": ("apps.documents.services.infrastructure.pdf_merge_service", "PDFMergeService"),
"PlaceholderAdminService": (
"apps.documents.services.placeholders.placeholder_admin_service",
"PlaceholderAdminService",
),
"PlaceholderService": ("apps.documents.services.placeholders.placeholder_service", "PlaceholderService"),
"DocumentTemplateService": ("apps.documents.services.template.template_service", "DocumentTemplateService"),
"TemplateAuditLogService": (
"apps.documents.services.template.template_audit_log_service",
"TemplateAuditLogService",
),
}
def __getattr__(name: str) -> Any:
if name in _LAZY_EXPORTS:
module_path, attr_name = _LAZY_EXPORTS[name]
module = importlib.import_module(module_path)
return getattr(module, attr_name)
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
def __dir__() -> list[str]:
return sorted(set(globals().keys()) | set(__all__) | set(_LAZY_EXPORTS.keys()))
|