def selectGroup(self, grp, include = ksparser.GROUP_DEFAULT): def compareGroup(pitem): item = zypp.asKindPattern(pitem) return item.repoInfo().priority() if not self.Z: self.__initialize_zypp() found = False q = zypp.PoolQuery() q.addKind(zypp.ResKind.pattern) for pitem in sorted(q.queryResults(self.Z.pool()), key=compareGroup): item = zypp.asKindPattern(pitem) summary = "%s" % item.summary() name = "%s" % item.name() if name == grp or summary == grp: found = True pitem.status().setToBeInstalled (zypp.ResStatus.USER) break if found: if include == ksparser.GROUP_REQUIRED: map( lambda p: self.deselectPackage(p), grp.default_packages.keys()) return None else: raise CreatorError("Unable to find pattern: %s" % (grp,))
def _castKind(self, poolitem): item = None if zypp.isKindPattern(poolitem): item = zypp.asKindPattern(poolitem) elif zypp.isKindPackage(poolitem): item = zypp.asKindPackage(poolitem) elif zypp.isKindResolvable(poolitem): item = zypp.asKindResolvable(poolitem) return item
def compareGroup(pitem): item = zypp.asKindPattern(pitem) return item.repoInfo().priority()