diff --git a/ocr-service/ensure_blla_model.py b/ocr-service/ensure_blla_model.py index 0328c0cb..399e8a80 100644 --- a/ocr-service/ensure_blla_model.py +++ b/ocr-service/ensure_blla_model.py @@ -24,7 +24,7 @@ log = logging.getLogger(__name__) BLLA_MODEL_PATH = os.environ.get("BLLA_MODEL_PATH", "/app/models/blla.mlmodel") # DOI for "General segmentation model for print and handwriting" — ketos 7 compatible. BLLA_MODEL_DOI = "10.5281/zenodo.14602569" -HTRMOPO_DIR = os.environ.get("HTRMOPO_DIR", "/app/models/.htrmopo") +HTRMOPO_DIR = os.environ.get("HTRMOPO_DIR") or "/app/models/.htrmopo" def _model_is_loadable(path: str) -> bool: diff --git a/ocr-service/test_ensure_blla_model.py b/ocr-service/test_ensure_blla_model.py index cb5c6f7d..c3c65bd0 100644 --- a/ocr-service/test_ensure_blla_model.py +++ b/ocr-service/test_ensure_blla_model.py @@ -29,6 +29,15 @@ def test_htrmopo_dir_default_is_fixed_path(): assert result == "/app/models/.htrmopo" +def test_htrmopo_dir_falls_back_to_default_when_set_to_empty_string(): + """HTRMOPO_DIR='' must not produce an empty path — get() returns '' for blank env vars.""" + with patch.dict(os.environ, {"HTRMOPO_DIR": ""}): + importlib.reload(ensure_blla_model) + result = ensure_blla_model.HTRMOPO_DIR + importlib.reload(ensure_blla_model) + assert result != "" + + # ─── Model already loadable ───────────────────────────────────────────────────