[split-required] Split final 43 files (500-668 LOC) to complete refactoring
klausur-service (11 files): - cv_gutter_repair, ocr_pipeline_regression, upload_api - ocr_pipeline_sessions, smart_spell, nru_worksheet_generator - ocr_pipeline_overlays, mail/aggregator, zeugnis_api - cv_syllable_detect, self_rag backend-lehrer (17 files): - classroom_engine/suggestions, generators/quiz_generator - worksheets_api, llm_gateway/comparison, state_engine_api - classroom/models (→ 4 submodules), services/file_processor - alerts_agent/api/wizard+digests+routes, content_generators/pdf - classroom/routes/sessions, llm_gateway/inference - classroom_engine/analytics, auth/keycloak_auth - alerts_agent/processing/rule_engine, ai_processor/print_versions agent-core (5 files): - brain/memory_store, brain/knowledge_graph, brain/context_manager - orchestrator/supervisor, sessions/session_manager admin-lehrer (5 components): - GridOverlay, StepGridReview, DevOpsPipelineSidebar - DataFlowDiagram, sbom/wizard/page website (2 files): - DependencyMap, lehrer/abitur-archiv Other: nibis_ingestion, grid_detection_service, export-doclayout-onnx Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
31
klausur-service/backend/nru_worksheet_pdf.py
Normal file
31
klausur-service/backend/nru_worksheet_pdf.py
Normal file
@@ -0,0 +1,31 @@
|
||||
"""
|
||||
NRU Worksheet PDF — PDF generation using weasyprint.
|
||||
|
||||
Extracted from nru_worksheet_generator.py for modularity.
|
||||
"""
|
||||
|
||||
from typing import List, Dict, Tuple
|
||||
|
||||
from nru_worksheet_html import generate_nru_worksheet_html
|
||||
|
||||
|
||||
async def generate_nru_pdf(entries: List[Dict], title: str = "Vokabeltest", include_solutions: bool = True) -> Tuple[bytes, bytes]:
|
||||
"""
|
||||
Generate NRU worksheet PDFs.
|
||||
|
||||
Returns:
|
||||
Tuple of (worksheet_pdf_bytes, solution_pdf_bytes)
|
||||
"""
|
||||
from weasyprint import HTML
|
||||
|
||||
# Generate worksheet HTML
|
||||
worksheet_html = generate_nru_worksheet_html(entries, title, show_solutions=False)
|
||||
worksheet_pdf = HTML(string=worksheet_html).write_pdf()
|
||||
|
||||
# Generate solution HTML
|
||||
solution_pdf = None
|
||||
if include_solutions:
|
||||
solution_html = generate_nru_worksheet_html(entries, title, show_solutions=True)
|
||||
solution_pdf = HTML(string=solution_html).write_pdf()
|
||||
|
||||
return worksheet_pdf, solution_pdf
|
||||
Reference in New Issue
Block a user