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)
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)