Exemplo n.º 1
0
    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,))
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 def compareGroup(pitem):
     item = zypp.asKindPattern(pitem)
     return item.repoInfo().priority()