def resolve(self, filters, package ): """ @filters (list) list of filters @package (list ) list with packages name for resolve """ log.info("======== resolve =========") log.info("filters: %s package:%s " % (filters, package)) cache = Cache() pkg_dict = cache.resolve( package[0] ) if pkg_dict is None: self.error(ERROR_INTERNAL_ERROR, "Package Not found on repository") filter = ConaryFilter(filters) installed = filter._pkg_is_installed( pkg_dict["name"] ) conary_cli = ConaryPk() troveTuple = conary_cli.request_query( package[0] ) log.info(">>> %s" % troveTuple) if installed: filter.add_installed( troveTuple ) else: filter.add_available( troveTuple ) package_list = filter.post_process() log.info("package_list %s" % package_list) self._show_package_list(package_list)
def get_package_from_id(self, package_id): """ package_id(string) = "dpaster;0.1-3-1;x86;/foresight.rpath.org@fl:2-qa/0.1-3-1#{'version': '0.1-3-1', 'category': [], 'name': 'dpaster', 'label': 'foresight.rpath.org@fl:2-qa'}" """ log.info("=========== get package from package_id ======================") name, verString, archString, data = pkpackage.get_package_from_id(package_id) summary = data.split("#") repo = summary[0] metadata = eval(summary[1]) cli = ConaryPk() return cli.request_query(name)