From 7b1e5b4f41a9ca487678779d696e5b5f032c816f Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Mon, 26 Apr 2021 01:18:07 -0700 Subject: [PATCH] Fix "invalid version number" for untagged tesseract versions Fixes #770 --- src/ocrmypdf/_exec/tesseract.py | 1 + tests/test_validation.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py index 5dc5024b..119771ec 100644 --- a/src/ocrmypdf/_exec/tesseract.py +++ b/src/ocrmypdf/_exec/tesseract.py @@ -61,6 +61,7 @@ class TesseractVersion(StrictVersion): ^(\d+) \. (\d+) (\. (\d+))? # groups: 1/major, 2/minor, 3/[skip], 4/patch [-]? # optional hyphen separator (?:(alpha|beta|rc|dev)[.\-\ ]?(\d+)?)? # 5/prerelease, 6/prerelease_num + (?:-(\d+)-g[0-9a-f]+)? # untagged git version $ ''', re.VERBOSE | re.ASCII, diff --git a/tests/test_validation.py b/tests/test_validation.py index 6bec04e3..fd4d6fc2 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -237,6 +237,13 @@ def test_version_comparison(): need_version='4.0.0', version_parser=TesseractVersion, ) + vd.check_external_program( + program="tesseract", + package="tesseract", + version_checker=lambda: '4.1.1-rc2-25-g9707', + need_version='4.0.0', + version_parser=TesseractVersion, + ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="dummy_fails",