From 373e93dd3b884b8e5ade4baaa6d8e4dd2d9f3975 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 8 May 2025 21:50:19 +0200 Subject: [PATCH] gnomeExtensions/update: Simplify collision calculation - Use meaningful variable names in list comprehensions. - Remove redundant comments. - Use `setdefault` instead of conditional assignment. - Move the filtering into the returned list comprehension. - Rename intermediary variable since we are now filtering in the return statement. --- .../gnome/extensions/update-extensions.py | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/update-extensions.py b/pkgs/desktops/gnome/extensions/update-extensions.py index 70b9de8307b3..c3af7014ca1c 100755 --- a/pkgs/desktops/gnome/extensions/update-extensions.py +++ b/pkgs/desktops/gnome/extensions/update-extensions.py @@ -345,21 +345,19 @@ def find_collisions( versions: list[str], ) -> dict[PackageName, list[Uuid]]: package_name_registry_for_versions = [ - v for k, v in package_name_registry.items() if k in versions + package_name_registry + for version, package_name_registry in package_name_registry.items() + if version in versions ] - # Merge all package names into a single dictionary - package_name_registry_filtered: dict[PackageName, set[Uuid]] = {} + package_name_registry_merged: dict[PackageName, set[Uuid]] = {} for pkgs in package_name_registry_for_versions: for pname, uuids in pkgs.items(): - if pname not in package_name_registry_filtered: - package_name_registry_filtered[pname] = set() - package_name_registry_filtered[pname].update(uuids) - # Filter out those that are not duplicates - package_name_registry_filtered = { - k: v for k, v in package_name_registry_filtered.items() if len(v) > 1 + package_name_registry_merged.setdefault(pname, set()).update(uuids) + return { + pname: list(uuids) + for pname, uuids in package_name_registry_merged.items() + if len(uuids) > 1 } - # Convert set to list - return {k: list(v) for k, v in package_name_registry_filtered.items()} def main() -> None: