Don't warn about --user-words in Tesseract 4.1 or later

This commit is contained in:
James R. Barlow
2019-07-27 02:14:59 -07:00
parent 6fbeb6347d
commit 5304c631ec
3 changed files with 21 additions and 4 deletions
+5 -2
View File
@@ -253,10 +253,13 @@ def check_options_advanced(options):
"--pdfa-image-compression argument has no effect when "
"--output-type is not 'pdfa', 'pdfa-1', or 'pdfa-2'"
)
if tesseract.v4(options.tesseract_env) and (
if not tesseract.has_user_words(options.tesseract_env) and (
options.user_words or options.user_patterns
):
log.warning('Tesseract 4.x ignores --user-words, so this has no effect')
log.warning(
"Tesseract 4.0 ignores --user-words and --user-patterns, so these "
"arguments have no effect."
)
def check_options_metadata(options):
+9
View File
@@ -88,6 +88,15 @@ def has_textonly_pdf(tesseract_env=None):
return False
def has_user_words(tesseract_env=None):
"""Does Tesseract have --user-words capability?
Not available in 4.0, but available in 4.1. Also available in 3.x, but
we no longer support 3.x.
"""
return version(tesseract_env) >= '4.1'
def languages(tesseract_env=None):
def lang_error(output):
msg = (
+7 -2
View File
@@ -81,8 +81,13 @@ def test_optimizing(caplog):
def test_user_words(caplog):
vd.check_options_advanced(make_opts(user_words='foo'))
assert 'ignores --user-words' in caplog.text
with patch('ocrmypdf.exec.tesseract.version', return_value='4.0.0'):
vd.check_options_advanced(make_opts(user_words='foo'))
assert '4.0 ignores --user-words' in caplog.text
caplog.clear()
with patch('ocrmypdf.exec.tesseract.version', return_value='4.1.0'):
vd.check_options_advanced(make_opts(user_patterns='foo'))
assert '4.0 ignores --user-words' not in caplog.text
def test_pillow_options():