From 4f7c5675fc549f879ccacd4aa5632f916e6cc9b9 Mon Sep 17 00:00:00 2001 From: Robert Sachunsky Date: Sat, 18 Jul 2026 18:02:40 +0200 Subject: [PATCH] ocr: ensure forked logging handlers also work under pytest --- src/eynollah/eynollah_ocr.py | 6 ++++-- src/eynollah/model_zoo/model_zoo.py | 6 ++++-- tests/cli_tests/test_ocr.py | 5 +++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/eynollah/eynollah_ocr.py b/src/eynollah/eynollah_ocr.py index 748d6a2..b5bf6d8 100644 --- a/src/eynollah/eynollah_ocr.py +++ b/src/eynollah/eynollah_ocr.py @@ -51,7 +51,7 @@ def _run_single(*args, **kwargs): logq = kwargs.pop('logq') # replace all inherited handlers with queue handler logging.root.handlers.clear() - _instance.logger.handlers.clear() + _instance.logger.parent.handlers.clear() handler = logging.handlers.QueueHandler(logq) logging.root.addHandler(handler) return _instance.run_single(*args, **kwargs) @@ -494,7 +494,9 @@ class Eynollah_ocr(Eynollah): for job in as_completed(list(jobs)): img_filename, logq = jobs[job] loglistener = logging.handlers.QueueListener( - logq, *self.logger.handlers, respect_handler_level=False) + logq, *self.logger.handlers, + *self.logger.parent.handlers, + respect_handler_level=False) try: loglistener.start() job.result() diff --git a/src/eynollah/model_zoo/model_zoo.py b/src/eynollah/model_zoo/model_zoo.py index f230a31..5291bf8 100644 --- a/src/eynollah/model_zoo/model_zoo.py +++ b/src/eynollah/model_zoo/model_zoo.py @@ -24,7 +24,7 @@ MODEL_VRAM_LIMITS = { "region_fl_np": 1756, "table": 1818, "reading_order": 632, - "ocr": 2400, # 850 for bs 8 + "ocr": 2600, # 850 for bs 8 } class EynollahModelZoo: @@ -390,7 +390,9 @@ class EynollahModelZoo: if isinstance(provider0, tuple): provider0 = provider0[0] self.logger.info("using %s with ONNX provider %s for model %s", - "GPU %d" % gpu if gpu >= 0 else "CPU", + "GPU %d" % gpu if (gpu >= 0 and not + provider0.startswith("CPU")) + else "CPU", provider0[:-17], model_category) model = ort.InferenceSession( model_path, diff --git a/tests/cli_tests/test_ocr.py b/tests/cli_tests/test_ocr.py index cf34e06..c4fba04 100644 --- a/tests/cli_tests/test_ocr.py +++ b/tests/cli_tests/test_ocr.py @@ -30,7 +30,7 @@ def test_run_eynollah_ocr_filename( '-o', str(outfile.parent), ] + options, [ - 'output filename:' + str(infile) ] ) assert outfile.exists() @@ -57,7 +57,8 @@ def test_run_eynollah_ocr_directory( '-o', str(outdir), ], [ - 'output filename:' + 'Job done in', + 'All jobs done in', ] ) assert len(list(outdir.iterdir())) == 2