From 1fd84bb9c29c421d9ed18cbf82c8eaa90003c33c Mon Sep 17 00:00:00 2001 From: InsanePrawn Date: Thu, 8 Sep 2022 01:48:08 +0200 Subject: [PATCH] packages/pkgbuild: add get_pkgbuild_by_name(name, lazy=True) for easy cache access --- packages/pkgbuild.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/pkgbuild.py b/packages/pkgbuild.py index 0940e8e..7db7245 100644 --- a/packages/pkgbuild.py +++ b/packages/pkgbuild.py @@ -292,6 +292,16 @@ def get_pkgbuild_by_path(relative_path: str, lazy: bool = True, _config: Optiona return parsed +def get_pkgbuild_by_name(name: str, lazy: bool = True): + if lazy and name in _pkgbuilds_cache: + return _pkgbuilds_cache[name] + if _pkgbuilds_scanned and lazy: + raise Exception(f"couldn't find PKGBUILD for package with name {name}") + discover_pkgbuilds(lazy=lazy) + assert _pkgbuilds_scanned + return get_pkgbuild_by_name(name=name, lazy=lazy) + + def discover_pkgbuilds(parallel: bool = True, lazy: bool = True) -> dict[str, Pkgbuild]: global _pkgbuilds_cache, _pkgbuilds_scanned if lazy and _pkgbuilds_scanned: