diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2023-11-10 16:35:56 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2023-11-22 22:10:01 +0200 |
commit | 4a1e0235cc81442c312cb31a9ed5c639f0b1c8c5 (patch) | |
tree | 4a24916d45c0276501e59069b0fee45d28a0fc87 /mesonbuild/wrap | |
parent | 5e06eb9b899f902eeb56935c166d58b2c5727faf (diff) | |
download | meson-4a1e0235cc81442c312cb31a9ed5c639f0b1c8c5.zip meson-4a1e0235cc81442c312cb31a9ed5c639f0b1c8c5.tar.gz meson-4a1e0235cc81442c312cb31a9ed5c639f0b1c8c5.tar.bz2 |
wrap: Cache get_releases()
"meson wrap status" was calling it for each .wrap file. Better use
lru_cache to ensure we don't make the same mistake elsewhere.
Diffstat (limited to 'mesonbuild/wrap')
-rw-r--r-- | mesonbuild/wrap/wrap.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mesonbuild/wrap/wrap.py b/mesonbuild/wrap/wrap.py index a5b4dc8..ea8b4bf 100644 --- a/mesonbuild/wrap/wrap.py +++ b/mesonbuild/wrap/wrap.py @@ -35,6 +35,7 @@ import json from base64 import b64encode from netrc import netrc from pathlib import Path, PurePath +from functools import lru_cache from . import WrapMode from .. import coredata @@ -111,6 +112,7 @@ def get_releases_data(allow_insecure: bool) -> bytes: url = open_wrapdburl('https://wrapdb.mesonbuild.com/v2/releases.json', allow_insecure, True) return url.read() +@lru_cache(maxsize=None) def get_releases(allow_insecure: bool) -> T.Dict[str, T.Any]: data = get_releases_data(allow_insecure) return T.cast('T.Dict[str, T.Any]', json.loads(data.decode())) |