diff --git a/klausur-service/backend/ocr_pipeline_api.py b/klausur-service/backend/ocr_pipeline_api.py index f0bb08d..d204da0 100644 --- a/klausur-service/backend/ocr_pipeline_api.py +++ b/klausur-service/backend/ocr_pipeline_api.py @@ -2020,9 +2020,10 @@ async def detect_words( }, } - # For vocab layout: map cells 1:1 to vocab entries (row→entry). - # No content shuffling — each cell stays at its detected position. - if is_vocab: + # For vocab layout or single-column (box sub-sessions): map cells 1:1 + # to vocab entries (row→entry). + has_text_col = 'column_text' in col_types + if is_vocab or has_text_col: entries = _cells_to_vocab_entries(cells, columns_meta) entries = _fix_phonetic_brackets(entries, pronunciation=pronunciation) word_result["vocab_entries"] = entries @@ -2169,7 +2170,8 @@ async def _word_batch_stream_generator( } vocab_entries = None - if is_vocab: + has_text_col = 'column_text' in col_types + if is_vocab or has_text_col: entries = _cells_to_vocab_entries(cells, columns_meta) entries = _fix_phonetic_brackets(entries, pronunciation=pronunciation) word_result["vocab_entries"] = entries @@ -2308,10 +2310,11 @@ async def _word_stream_generator( }, } - # For vocab layout: map cells 1:1 to vocab entries (row→entry). - # No content shuffling — each cell stays at its detected position. + # For vocab layout or single-column (box sub-sessions): map cells 1:1 + # to vocab entries (row→entry). vocab_entries = None - if is_vocab: + has_text_col = 'column_text' in col_types + if is_vocab or has_text_col: entries = _cells_to_vocab_entries(all_cells, columns_meta) entries = _fix_character_confusion(entries) entries = _fix_phonetic_brackets(entries, pronunciation=pronunciation) @@ -3980,7 +3983,8 @@ async def run_auto(session_id: str, req: RunAutoRequest, request: Request): }, } - if is_vocab: + has_text_col = 'column_text' in col_types + if is_vocab or has_text_col: entries = _cells_to_vocab_entries(cells, columns_meta) entries = _fix_character_confusion(entries) entries = _fix_phonetic_brackets(entries, pronunciation=req.pronunciation)