コード例 #1
0
    def _get_products_with_dependencies(self, products: ProductCollection,
                                        result: ProductCollection):
        """
        вспомогательная рекурсивная функция для поиска зависимостей
        :param products:
        :param result:
        :return:
        """
        if not products:
            logging.debug("products is None")
            return

        for p in products:
            if not result.product_in_coll(p):
                result.add_product(p)
                logging.debug("Added '{0}'".format(
                    p.get_product_with_version()))

                dependencies = self.get_dependencies_for_product(p)
                if dependencies and len(dependencies) > 0:
                    # recursion !
                    for dep in dependencies:
                        logging.debug("\tdependant from: '{0}'".format(
                            dep.get_product_with_version()))
                    self._get_products_with_dependencies(dependencies, result)
コード例 #2
0
ファイル: dependency_manager.py プロジェクト: perldev/zoo
    def _get_products_with_dependencies(self, products: ProductCollection, result: ProductCollection):
        """
        вспомогательная рекурсивная функция для поиска зависимостей
        :param products:
        :param result:
        :return:
        """
        if not products:
            logging.debug("products is None")
            return

        for p in products:
            if not result.product_in_coll(p):
                result.add_product(p)
                logging.debug("Added '{0}'".format(p.get_product_with_version()))

                dependencies = self.get_dependencies_for_product(p)
                if dependencies and len(dependencies) > 0:
                    # recursion !
                    for dep in dependencies:
                        logging.debug("\tdependant from: '{0}'".format(dep.get_product_with_version()))
                    self._get_products_with_dependencies(dependencies, result)