diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-01 14:41:12 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-08-01 14:41:12 -0400 |
commit | 4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c (patch) | |
tree | 8fb0d4637e06efcb02d432ee6467778c3da3d0da /src/sbin/bcfg2-yum-helper | |
parent | a1510cf749295fe10760dabd0a5ecc4e2fc8a725 (diff) | |
download | bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.tar.gz bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.tar.bz2 bcfg2-4b5ce3bd4a71dfcc26983dfdbd00923f1d5d0d6c.zip |
batch up get_group calls in Packages to improve performance (#1101)
Diffstat (limited to 'src/sbin/bcfg2-yum-helper')
-rwxr-xr-x | src/sbin/bcfg2-yum-helper | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/sbin/bcfg2-yum-helper b/src/sbin/bcfg2-yum-helper index 2da7c6336..186eefe7a 100755 --- a/src/sbin/bcfg2-yum-helper +++ b/src/sbin/bcfg2-yum-helper @@ -134,7 +134,7 @@ class DepSolver(object): if self.yumbase.comps.has_group(group): group = self.yumbase.comps.return_group(group) else: - self.logger.warning("%s is not a valid group" % group) + self.logger.error("%s is not a valid group" % group) return [] except yum.Errors.GroupsError: err = sys.exc_info()[1] @@ -365,6 +365,17 @@ def main(): else: packages = depsolver.get_group(data['group']) print json.dumps(list(packages)) + elif cmd == "get_groups": + data = json.loads(sys.stdin.read()) + rv = dict() + for gdata in data: + if "type" in gdata: + packages = depsolver.get_group(gdata['group'], + ptype=gdata['type']) + else: + packages = depsolver.get_group(gdata['group']) + rv[gdata['group']] = list(packages) + print json.dumps(rv) elif cmd == "is_package": package = json.loads(sys.stdin.read()) print json.dumps(getattr(depsolver, cmd)(package)) |