From de5ba7a5337c6cb4141040c95988bf9cfb3a1dbc Mon Sep 17 00:00:00 2001 From: Midgard <2885-Midgard@users.noreply.framagit.org> Date: Sun, 12 Jul 2020 12:42:12 +0200 Subject: [PATCH] Start printing before all descriptions are loaded --- pyesearch.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pyesearch.py b/pyesearch.py index 4eafcd6..70f8957 100755 --- a/pyesearch.py +++ b/pyesearch.py @@ -115,8 +115,7 @@ def description_from_ebuild(path): def ebuild_info(path, repos): m = re.fullmatch(r"(.+)/([^/]+)/([^/]+)/\3-([^/]+)\.ebuild", path) - if not m: - print(path) + assert m, path PN = f"{m.group(2)}/{m.group(3)}" PV = f"{m.group(4)}" @@ -129,9 +128,15 @@ def ebuild_info(path, repos): "repo": first((name for name, path in repos if path == m.group(1))), "repo_path": m.group(1), "ebuild_path": path, - "description": description_from_ebuild(path), - "installed": os.path.exists(f"/var/db/pkg/{PN}-{PV}"), - } if m else None + } + + +def ebuild_extra_info(info): + return { + **info, + "description": description_from_ebuild(info["ebuild_path"]), + "installed": os.path.exists(f"/var/db/pkg/{info['P']}"), + } # Formatting @@ -187,7 +192,8 @@ def main(argv): for x in data: print(format_item( - x, longest_cat=longest_cat, longest_namever=longest_namever, default_repo=default + ebuild_extra_info(x), + longest_cat=longest_cat, longest_namever=longest_namever, default_repo=default )) return 0