From 0ab6b1168811586b62d8d1c26bad118b0a4b3807 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 8 Dec 2022 01:46:45 -0500 Subject: wrapper: switch to functools.lru_cache No need to implement our own caching logic with newer Python. Change-Id: Idc3243b8e22ff020817b0a4f18c9b86b1222d631 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/354357 Tested-by: Mike Frysinger Reviewed-by: Josip Sokcevic --- wrapper.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'wrapper.py') diff --git a/wrapper.py b/wrapper.py index 65dcf3c6..3099ad5d 100644 --- a/wrapper.py +++ b/wrapper.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import functools import importlib.machinery import importlib.util import os @@ -21,15 +22,11 @@ def WrapperPath(): return os.path.join(os.path.dirname(__file__), 'repo') -_wrapper_module = None - - +@functools.lru_cache(maxsize=None) def Wrapper(): - global _wrapper_module - if not _wrapper_module: - modname = 'wrapper' - loader = importlib.machinery.SourceFileLoader(modname, WrapperPath()) - spec = importlib.util.spec_from_loader(modname, loader) - _wrapper_module = importlib.util.module_from_spec(spec) - loader.exec_module(_wrapper_module) - return _wrapper_module + modname = 'wrapper' + loader = importlib.machinery.SourceFileLoader(modname, WrapperPath()) + spec = importlib.util.spec_from_loader(modname, loader) + module = importlib.util.module_from_spec(spec) + loader.exec_module(module) + return module -- cgit v1.2.3-54-g00ecf