def _get_packages(self, repos, requirements, include_mandatory): if requirements is not None: forest = PackagesForest() for repo in repos: self.controller.load_packages(repo, forest.add_tree().add) return forest.get_packages(requirements, include_mandatory) packages = set() self._load_packages(repos, packages.add) return packages
def test_get_packages(self): forest = PackagesForest() self._generate_packages(forest) packages = forest.get_packages( [generator.gen_relation("package3")] ) self.assertItemsEqual( ["package2", "package3", "package5"], (x.name for x in packages) )
def _get_packages(self, repos, requirements, include_mandatory, exclude_filter): if requirements is not None: forest = PackagesForest() for repo in repos: self.controller.load_packages(repo, forest.add_tree().add) return forest.get_packages(requirements, include_mandatory) packages = set() consumer = packages.add if exclude_filter is not None: def consumer(p): if not exclude_filter(p): packages.add(p) self._load_packages(repos, consumer) return packages
def _get_packages(self, repos, requirements, include_mandatory, exclude_filter): if requirements is not None: forest = PackagesForest() for repo in repos: self.controller.load_packages(repo, forest.add_tree().add) return forest.get_packages(requirements, include_mandatory) packages = set() consumer = packages.add if exclude_filter is not None: def consumer(p): if not exclude_filter(p): packages.add(p) self._load_packages(repos, consumer) return packages
def test_get_packages(self): forest = PackagesForest() self._generate_packages(forest) packages = forest.get_packages([generator.gen_relation("package3")]) self.assertItemsEqual(["package2", "package3", "package5"], (x.name for x in packages))