From 6f5b75bcd04040b262600f9eaff781f99aadb679 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Tue, 12 May 2020 02:23:56 -0700 Subject: [PATCH] Remove lru_cache on get_version Does not play well with forking. --- src/ocrmypdf/exec/_support.py | 1 + src/ocrmypdf/exec/ghostscript.py | 2 -- src/ocrmypdf/exec/jbig2enc.py | 2 -- src/ocrmypdf/exec/pngquant.py | 2 -- src/ocrmypdf/exec/unpaper.py | 2 -- 5 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/ocrmypdf/exec/_support.py b/src/ocrmypdf/exec/_support.py index bd8ed0e6..60d22a83 100644 --- a/src/ocrmypdf/exec/_support.py +++ b/src/ocrmypdf/exec/_support.py @@ -25,6 +25,7 @@ import sys from collections.abc import Mapping from contextlib import suppress from distutils.version import LooseVersion +from functools import lru_cache from subprocess import PIPE, STDOUT, CalledProcessError from subprocess import run as subprocess_run diff --git a/src/ocrmypdf/exec/ghostscript.py b/src/ocrmypdf/exec/ghostscript.py index b58e30cb..d7407726 100644 --- a/src/ocrmypdf/exec/ghostscript.py +++ b/src/ocrmypdf/exec/ghostscript.py @@ -21,7 +21,6 @@ import logging import os import re import warnings -from functools import lru_cache from io import BytesIO from os import fspath from pathlib import Path @@ -57,7 +56,6 @@ if os.name == 'nt': GS = Path(GS).stem -@lru_cache(maxsize=1) def version(): return get_version(GS) diff --git a/src/ocrmypdf/exec/jbig2enc.py b/src/ocrmypdf/exec/jbig2enc.py index 979b8eb7..c027e28d 100644 --- a/src/ocrmypdf/exec/jbig2enc.py +++ b/src/ocrmypdf/exec/jbig2enc.py @@ -17,14 +17,12 @@ """Interface to jbig2 executable""" -from functools import lru_cache from subprocess import PIPE from ocrmypdf.exceptions import MissingDependencyError from ocrmypdf.exec import get_version, run -@lru_cache(maxsize=1) def version(): return get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*') diff --git a/src/ocrmypdf/exec/pngquant.py b/src/ocrmypdf/exec/pngquant.py index f99fd421..ad00560f 100644 --- a/src/ocrmypdf/exec/pngquant.py +++ b/src/ocrmypdf/exec/pngquant.py @@ -17,7 +17,6 @@ """Interface to pngquant executable""" -from functools import lru_cache from subprocess import run from tempfile import NamedTemporaryFile @@ -27,7 +26,6 @@ from ocrmypdf.exceptions import MissingDependencyError from ocrmypdf.exec import get_version -@lru_cache(maxsize=1) def version(): return get_version('pngquant', regex=r'(\d+(\.\d+)*).*') diff --git a/src/ocrmypdf/exec/unpaper.py b/src/ocrmypdf/exec/unpaper.py index 2f77701b..a1aa749e 100644 --- a/src/ocrmypdf/exec/unpaper.py +++ b/src/ocrmypdf/exec/unpaper.py @@ -23,7 +23,6 @@ import logging import os import shlex -from functools import lru_cache from pathlib import Path from subprocess import PIPE, STDOUT, CalledProcessError from tempfile import TemporaryDirectory @@ -37,7 +36,6 @@ from ocrmypdf.exec import run as external_run log = logging.getLogger(__name__) -@lru_cache(maxsize=1) def version(): return get_version('unpaper')