def list_packages(self, filters): """ list packages""" self.sack.populate(self.repo, 'metadata', None, 0) pkglist = self.sack.returnPackages() self.num_packages = len(pkglist) if not filters: # if there's no include/exclude filter on command line or in database for p in self.repo.includepkgs: filters.append(('+', [filter_conf])) for p in self.repo.exclude: filters.append(('-', [filter_conf])) if filters: pkglist = self._filter_packages(pkglist, filters) pkglist = self._get_package_dependencies(self.sack, pkglist) # do not pull in dependencies if they're explicitly excluded pkglist = self._filter_packages(pkglist, filters, True) self.num_excluded = self.num_packages - len(pkglist) to_return = [] for pack in pkglist: if pack.arch == 'src': continue new_pack = ContentPackage() new_pack.setNVREA(pack.name, pack.version, pack.release, pack.epoch, pack.arch) new_pack.unique_id = pack new_pack.checksum_type = pack.checksums[0][0] if new_pack.checksum_type == 'sha': new_pack.checksum_type = 'sha1' new_pack.checksum = pack.checksums[0][1] to_return.append(new_pack) return to_return