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()))