From 6c34d59836f9cc48ed69dacfab134ed6b29f3887 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Thu, 4 Nov 2021 00:17:18 -0700 Subject: [PATCH] tesseract: yet another version variant --- src/ocrmypdf/_exec/tesseract.py | 6 +++--- tests/test_validation.py | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py index f09303f1..2adf6eea 100644 --- a/src/ocrmypdf/_exec/tesseract.py +++ b/src/ocrmypdf/_exec/tesseract.py @@ -59,8 +59,8 @@ class TesseractVersion(StrictVersion): r''' ^(\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 + (?: ((?:alpha|beta|rc|dev)\d*)? [.\-\ ]? (\d+)? )? # 5/prerelease, 6/prerelease_num + (?:(?:-\d+)?-g[0-9a-f]+)? # untagged git version $ ''', re.VERBOSE | re.ASCII, @@ -71,7 +71,7 @@ class TesseractVersion(StrictVersion): super().parse(vstring) except TypeError as e: if 'int() argument must be a string' in str(e): - super().parse(vstring + '0') + super().parse(vstring + '-0') def version(): diff --git a/tests/test_validation.py b/tests/test_validation.py index fdd5080d..9b6f35c0 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -238,6 +238,13 @@ def test_version_comparison(): need_version='4.0.0', version_parser=TesseractVersion, ) + vd.check_external_program( + program="tesseract", + package="tesseract", + version_checker=lambda: '5.0.0-rc1.20211030', + need_version='4.0.0', + version_parser=TesseractVersion, + ) vd.check_external_program( program="tesseract", package="tesseract",