From 9471bc8921054a58685fcc3317da966cae21e4fb Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Fri, 10 Apr 2020 13:42:33 -0700 Subject: [PATCH] Fix versions with leading v, e.g. v5.0 --- src/ocrmypdf/exec/__init__.py | 8 ++++++++ tests/test_validation.py | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/src/ocrmypdf/exec/__init__.py b/src/ocrmypdf/exec/__init__.py index 1fb3b047..92e4d956 100644 --- a/src/ocrmypdf/exec/__init__.py +++ b/src/ocrmypdf/exec/__init__.py @@ -271,6 +271,14 @@ def check_external_program( raise MissingDependencyError() return + def remove_leading_v(s): + if s.startswith('v'): + return s[1:] + return s + + found_version = remove_leading_v(found_version) + need_version = remove_leading_v(need_version) + if LooseVersion(found_version) < LooseVersion(need_version): _error_old_version(program, package, need_version, found_version, required_for) if not recommended: diff --git a/tests/test_validation.py b/tests/test_validation.py index 9fc5fe39..af1eadea 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -197,6 +197,12 @@ def test_version_comparison(): version_checker=lambda: '4.0.0-beta.1', need_version='4.0.0', ) + vd.check_external_program( + program="tesseract", + package="tesseract", + version_checker=lambda: 'v5.0.0-alpha.20200201', + need_version='4.0.0', + ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="dummy_fails",