Beispiel #1
0
    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)
     )
Beispiel #3
0
    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
Beispiel #4
0
    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
Beispiel #5
0
 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))