From 11774e593875effb32c1db9d5fcc39b25a297d3f Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Thu, 15 Nov 2012 10:49:49 +0000 Subject: Rework deps resolving Speed up and handle empty results without crashing --- (limited to 'devbot/distro.py') diff --git a/devbot/distro.py b/devbot/distro.py index 3c2872b..ed2128f 100644 --- a/devbot/distro.py +++ b/devbot/distro.py @@ -61,15 +61,18 @@ class FedoraPackageManager: print "Package %s not installed" % package return - for capability in capabilities.strip().split(" "): - if capability.startswith("rpmlib"): - continue - query_format = "--queryformat=[%{NAME} ]" - deps_packages = subprocess.check_output(["rpm", "-q", - query_format, - "--whatprovides", - capability]).strip() - + filtered = [cap for cap in capabilities.split(" ") + if not cap.startswith("rpmlib")] + + if capabilities and filtered: + print package, filtered + + args = ["rpm", "-q", + "--queryformat=[%{NAME} ]", + "--whatprovides"] + args.extend(filtered) + + deps_packages = subprocess.check_output(args).strip() for dep_package in deps_packages.split(" "): if dep_package not in result: result.append(dep_package) -- cgit v0.9.1