Exemplo n.º 1
0
 def sort(self, pkgs):
     """
     sort pkg with (arch, (epoch, version, release), repoid)
     """
     if self._arch is None:
         self._arch = arch.getBestArch()
     pkgs = sorted(pkgs, lambda x, y: self._comparePkg(x, y, self._arch))
     return pkgs
Exemplo n.º 2
0
    def _filterAndSortPackages(self, pkgs, oldpkg = None):
        if oldpkg is None:
            compareArch = arch.getBestArch()
        else:
            compareArch = oldpkg.arch

        pkgSorter = PackageArchSorter(compareArch)
        pkgs = pkgSorter.sort(pkgs)

        archFilter = PackageArchFilter(arch.getBestArch())
        pkgs = archFilter.filter(pkgs)
        if len(pkgs) < 2:
            return pkgs
        
        #distinct same version pkg
        result = [pkgs[0]]
        for index in range(1, len(pkgs)):
            if result[-1].getTuple() != pkgs[index].getTuple():
                result.append(pkgs[index])
        return result