Services: Admin-Lehrer, Backend-Lehrer, Studio v2, Website, Klausur-Service, School-Service, Voice-Service, Geo-Service, BreakPilot Drive, Agent-Core Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
81 lines
2.1 KiB
Python
81 lines
2.1 KiB
Python
# Klausur-Service Services Package
|
|
|
|
# Grading Services
|
|
from .grading_service import (
|
|
calculate_grade_points,
|
|
calculate_raw_points,
|
|
)
|
|
|
|
# Authentication Services
|
|
from .auth_service import (
|
|
get_current_user,
|
|
)
|
|
|
|
# EH Audit Services
|
|
from .eh_service import (
|
|
log_audit,
|
|
log_eh_audit,
|
|
)
|
|
|
|
# OCR Services - Lazy imports (require PIL/cv2 which may not be installed)
|
|
# These are imported on-demand when actually used
|
|
def __getattr__(name):
|
|
"""Lazy import for optional image processing modules."""
|
|
_handwriting_exports = {
|
|
'detect_handwriting', 'detect_handwriting_regions',
|
|
'mask_to_png', 'DetectionResult'
|
|
}
|
|
_inpainting_exports = {
|
|
'inpaint_image', 'inpaint_opencv_telea', 'inpaint_opencv_ns',
|
|
'remove_handwriting', 'check_lama_available',
|
|
'InpaintingMethod', 'InpaintingResult'
|
|
}
|
|
_layout_exports = {
|
|
'reconstruct_layout', 'layout_to_fabric_json', 'reconstruct_and_clean',
|
|
'LayoutResult', 'TextElement', 'ElementType'
|
|
}
|
|
|
|
if name in _handwriting_exports:
|
|
from . import handwriting_detection
|
|
return getattr(handwriting_detection, name)
|
|
elif name in _inpainting_exports:
|
|
from . import inpainting_service
|
|
return getattr(inpainting_service, name)
|
|
elif name in _layout_exports:
|
|
from . import layout_reconstruction_service
|
|
return getattr(layout_reconstruction_service, name)
|
|
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
|
|
|
|
__all__ = [
|
|
# Grading
|
|
'calculate_grade_points',
|
|
'calculate_raw_points',
|
|
# Authentication
|
|
'get_current_user',
|
|
# Audit
|
|
'log_audit',
|
|
'log_eh_audit',
|
|
# Handwriting Detection (lazy)
|
|
'detect_handwriting',
|
|
'detect_handwriting_regions',
|
|
'mask_to_png',
|
|
'DetectionResult',
|
|
# Inpainting (lazy)
|
|
'inpaint_image',
|
|
'inpaint_opencv_telea',
|
|
'inpaint_opencv_ns',
|
|
'remove_handwriting',
|
|
'check_lama_available',
|
|
'InpaintingMethod',
|
|
'InpaintingResult',
|
|
# Layout Reconstruction (lazy)
|
|
'reconstruct_layout',
|
|
'layout_to_fabric_json',
|
|
'reconstruct_and_clean',
|
|
'LayoutResult',
|
|
'TextElement',
|
|
'ElementType',
|
|
]
|