diff --git a/pytesseract/pytesseract.py b/pytesseract/pytesseract.py index 37837f4..9aea443 100644 --- a/pytesseract/pytesseract.py +++ b/pytesseract/pytesseract.py @@ -428,9 +428,8 @@ def get_languages(config=''): except OSError: raise TesseractNotFoundError() - # tesseract 3.x - if result.returncode not in (0, 1): - raise TesseractNotFoundError() + if result.returncode != 0 : + raise TesseractError(result.returncode, "--list-langs failed") languages = [] if result.stdout: diff --git a/tests/pytesseract_test.py b/tests/pytesseract_test.py index 52efa2d..6ceadae 100644 --- a/tests/pytesseract_test.py +++ b/tests/pytesseract_test.py @@ -23,6 +23,7 @@ from pytesseract import Output from pytesseract import run_and_get_multiple_output from pytesseract import TesseractNotFoundError +from pytesseract import TesseractError from pytesseract import TSVNotSupported from pytesseract.pytesseract import file_to_dict from pytesseract.pytesseract import numpy_installed @@ -467,12 +468,16 @@ def test_proper_oserror_exception_handling(monkeypatch, test_file, test_path): ], ) def test_get_languages(test_config, expected): - result = get_languages.__wrapped__(test_config) - if not result: - assert result == [] + try : + result = get_languages.__wrapped__(test_config) + if not result: + assert result == [] + + for lang in expected: + assert lang in result + except TesseractError: + assert expected == () - for lang in expected: - assert lang in result @pytest.mark.parametrize(