576fffbc8e
The code that handles running of tesseract needs to be tweaked a little bit to be able to run without the functions from avocado.utils, and while we're at it, drop some legacy stuff that was still there due to Tesseract 3 support that we already dropped a while ago. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20240830133841.142644-29-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
36 lines
1013 B
Python
36 lines
1013 B
Python
# ...
|
|
#
|
|
# Copyright (c) 2019 Philippe Mathieu-Daudé <f4bug@amsat.org>
|
|
#
|
|
# This work is licensed under the terms of the GNU GPL, version 2 or
|
|
# later. See the COPYING file in the top-level directory.
|
|
|
|
import re
|
|
import logging
|
|
|
|
from . import has_cmd, run_cmd
|
|
|
|
def tesseract_available(expected_version):
|
|
if not has_cmd('tesseract'):
|
|
return False
|
|
(stdout, stderr, ret) = run_cmd([ 'tesseract', '--version'])
|
|
if ret:
|
|
return False
|
|
version = stdout.split()[1]
|
|
return int(version.split('.')[0]) >= expected_version
|
|
|
|
def tesseract_ocr(image_path, tesseract_args=''):
|
|
console_logger = logging.getLogger('console')
|
|
console_logger.debug(image_path)
|
|
(stdout, stderr, ret) = run_cmd(['tesseract', image_path,
|
|
'stdout'])
|
|
if ret:
|
|
return None
|
|
lines = []
|
|
for line in stdout.split('\n'):
|
|
sline = line.strip()
|
|
if len(sline):
|
|
console_logger.debug(sline)
|
|
lines += [sline]
|
|
return lines
|