def call_format_functions(best_match, matches): """Call information gathering functions and display the results.""" if CONFIG['verbose']: repo = best_match.repo_name() pp.uprint(" * %s [%s]" % (pp.cpv(best_match.cp), pp.section(repo))) got_opts = False if any(QUERY_OPTS.values()): # Specific information requested, less formatting got_opts = True if QUERY_OPTS["herd"] or not got_opts: herds = best_match.metadata.herds(include_email=True) if any(not h[0] for h in herds): print(pp.warn("The packages metadata.xml has an empty <herd> tag"), file=sys.stderr) herds = [x for x in herds if x[0]] herds = format_herds(herds) if QUERY_OPTS["herd"]: print_sequence(format_list(herds)) else: for herd in herds: pp.uprint(format_line(herd, "Herd: ", " " * 13)) if QUERY_OPTS["maintainer"] or not got_opts: maints = format_maintainers(best_match.metadata.maintainers()) if QUERY_OPTS["maintainer"]: print_sequence(format_list(maints)) else: if not maints: pp.uprint(format_line([], "Maintainer: ", " " * 13)) else: for maint in maints: pp.uprint(format_line(maint, "Maintainer: ", " " * 13)) if QUERY_OPTS["upstream"] or not got_opts: upstream = format_upstream(best_match.metadata.upstream()) homepage = format_homepage(best_match.environment("HOMEPAGE")) if QUERY_OPTS["upstream"]: upstream = format_list(upstream) else: upstream = format_list(upstream, "Upstream: ", " " * 13) print_sequence(upstream) print_sequence(homepage) if not got_opts: pkg_loc = best_match.package_path() pp.uprint(format_line(pkg_loc, "Location: ", " " * 13)) if QUERY_OPTS["keywords"] or not got_opts: # Get {<Package 'dev-libs/glib-2.20.5'>: [u'ia64', u'm68k', ...], ...} keyword_map = filter_keywords(matches) for match in matches: slot = match.environment('SLOT') verstr_len = len(match.fullversion) + len(slot) fmtd_keywords = format_keywords(keyword_map[match]) keywords_line = format_keywords_line(match, fmtd_keywords, slot, verstr_len) if QUERY_OPTS["keywords"]: pp.uprint(keywords_line) else: indent = " " * (16 + verstr_len) pp.uprint(format_line(keywords_line, "Keywords: ", indent)) if QUERY_OPTS["description"]: desc = best_match.metadata.descriptions() print_sequence(format_list(desc)) if QUERY_OPTS["useflags"]: useflags = format_useflags(best_match.metadata.use()) print_sequence(format_list(useflags)) if QUERY_OPTS["license"] or not got_opts: _license = best_match.environment(["LICENSE"]) if QUERY_OPTS["license"]: _license = format_list(_license) else: _license = format_list(_license, "License: ", " " * 13) print_sequence(_license) if QUERY_OPTS["stablereq"]: # Get {<Package 'dev-libs/glib-2.20.5'>: [u'ia64', u'm68k', ...], ...} stablereq_map = stablereq(matches) for match in matches: slot = match.environment('SLOT') verstr_len = len(match.fullversion) + len(slot) fmtd_ccs = ','.join(sorted(stablereq_map[match])) stablereq_line = format_stablereq_line(match, fmtd_ccs, slot) #print("STABLEREQ:", ) pp.uprint(stablereq_line) if QUERY_OPTS["xml"]: print_file(os.path.join(best_match.package_path(), 'metadata.xml'))
def call_format_functions(best_match, matches): """Call information gathering functions and display the results.""" if CONFIG['verbose']: repo = best_match.repo_name() pp.uprint(" * %s [%s]" % (pp.cpv(best_match.cp), pp.section(repo))) got_opts = False if any(QUERY_OPTS.values()): # Specific information requested, less formatting got_opts = True if QUERY_OPTS["herd"] or not got_opts: herds = best_match.metadata.herds(include_email=True) if any(not h[0] for h in herds): print(pp.warn("The packages metadata.xml has an empty <herd> tag"), file = sys.stderr) herds = [x for x in herds if x[0]] herds = format_herds(herds) if QUERY_OPTS["herd"]: print_sequence(format_list(herds)) else: for herd in herds: pp.uprint(format_line(herd, "Herd: ", " " * 13)) if QUERY_OPTS["maintainer"] or not got_opts: maints = format_maintainers(best_match.metadata.maintainers()) if QUERY_OPTS["maintainer"]: print_sequence(format_list(maints)) else: if not maints: pp.uprint(format_line([], "Maintainer: ", " " * 13)) else: for maint in maints: pp.uprint(format_line(maint, "Maintainer: ", " " * 13)) if QUERY_OPTS["upstream"] or not got_opts: upstream = format_upstream(best_match.metadata.upstream()) homepage = format_homepage(best_match.environment("HOMEPAGE")) if QUERY_OPTS["upstream"]: upstream = format_list(upstream) else: upstream = format_list(upstream, "Upstream: ", " " * 13) print_sequence(upstream) print_sequence(homepage) if not got_opts: pkg_loc = best_match.package_path() pp.uprint(format_line(pkg_loc, "Location: ", " " * 13)) if QUERY_OPTS["keywords"] or not got_opts: # Get {<Package 'dev-libs/glib-2.20.5'>: [u'ia64', u'm68k', ...], ...} keyword_map = filter_keywords(matches) for match in matches: slot = match.environment('SLOT') verstr_len = len(match.fullversion) + len(slot) fmtd_keywords = format_keywords(keyword_map[match]) keywords_line = format_keywords_line( match, fmtd_keywords, slot, verstr_len ) if QUERY_OPTS["keywords"]: pp.uprint(keywords_line) else: indent = " " * (16 + verstr_len) pp.uprint(format_line(keywords_line, "Keywords: ", indent)) if QUERY_OPTS["description"]: desc = best_match.metadata.descriptions() print_sequence(format_list(desc)) if QUERY_OPTS["useflags"]: useflags = format_useflags(best_match.metadata.use()) print_sequence(format_list(useflags)) if QUERY_OPTS["stablereq"]: # Get {<Package 'dev-libs/glib-2.20.5'>: [u'ia64', u'm68k', ...], ...} stablereq_map = stablereq(matches) for match in matches: slot = match.environment('SLOT') verstr_len = len(match.fullversion) + len(slot) fmtd_ccs = ','.join(sorted(stablereq_map[match])) stablereq_line = format_stablereq_line( match, fmtd_ccs, slot ) #print("STABLEREQ:", ) pp.uprint(stablereq_line) if QUERY_OPTS["xml"]: print_file(os.path.join(best_match.package_path(), 'metadata.xml'))