Initial commit: breakpilot-lehrer - Lehrer KI Platform
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>
This commit is contained in:
80
klausur-service/backend/services/__init__.py
Normal file
80
klausur-service/backend/services/__init__.py
Normal file
@@ -0,0 +1,80 @@
|
||||
# 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',
|
||||
]
|
||||
Reference in New Issue
Block a user