From: Zac Medico Date: Fri, 6 Aug 2010 12:30:42 +0000 (-0700) Subject: * Split out a _get_masking_status() method that returns categorized X-Git-Tag: v2.2_rc68~382 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0d529b7829b19b3f55dc05747dc8299ae32498e1;p=portage.git * Split out a _get_masking_status() method that returns categorized message objects instead of plain strings. * Move masks to the "invalid" category. --- diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index cc697ccf7..4addbd449 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -20,6 +20,8 @@ from portage.dep import Atom from portage.output import bold, blue, colorize, create_color_func, darkblue, \ darkgreen, green, nc_len, red, teal, turquoise, yellow bad = create_color_func("BAD") +from portage.package.ebuild.getmaskingstatus import \ + _getmaskingstatus, _MaskReason from portage.sets import SETPREFIX from portage.sets.base import InternalPackageSet from portage.util import cmp_sort_key, writemsg, writemsg_stdout @@ -6020,21 +6022,27 @@ def show_blocker_docs_link(): print() def get_masking_status(pkg, pkgsettings, root_config): + return [mreason.message for \ + mreason in _get_masking_status(pkg, pkgsettings, root_config)] - mreasons = portage.getmaskingstatus( +def _get_masking_status(pkg, pkgsettings, root_config): + + mreasons = _getmaskingstatus( pkg, settings=pkgsettings, portdb=root_config.trees["porttree"].dbapi) if not pkg.installed: if not pkgsettings._accept_chost(pkg.cpv, pkg.metadata): - mreasons.append("CHOST: %s" % \ - pkg.metadata["CHOST"]) + mreasons.append(_MaskReason("CHOST", "CHOST: %s" % \ + pkg.metadata["CHOST"])) if pkg.invalid: for msg_type, msgs in pkg.invalid.items(): for msg in msgs: - mreasons.append("invalid: %s" % (msg,)) + mreasons.append( + _MaskReason("invalid", "invalid: %s" % (msg,))) if not pkg.metadata["SLOT"]: - mreasons.append("invalid: SLOT is undefined") + mreasons.append( + _MaskReason("invalid", "SLOT: undefined")) return mreasons diff --git a/pym/portage/package/ebuild/getmaskingstatus.py b/pym/portage/package/ebuild/getmaskingstatus.py index f1ccd6d90..61a06e76a 100644 --- a/pym/portage/package/ebuild/getmaskingstatus.py +++ b/pym/portage/package/ebuild/getmaskingstatus.py @@ -147,7 +147,7 @@ def _getmaskingstatus(mycpv, settings, portdb): msg.append("license(s)") rValue.append(_MaskReason("LICENSE", " ".join(msg))) except portage.exception.InvalidDependString as e: - rValue.append(_MaskReason("LICENSE", "LICENSE: "+str(e))) + rValue.append(_MaskReason("invalid", "LICENSE: "+str(e))) try: missing_properties = settings._getMissingProperties(mycpv, metadata) @@ -161,7 +161,7 @@ def _getmaskingstatus(mycpv, settings, portdb): msg.append("properties") rValue.append(_MaskReason("PROPERTIES", " ".join(msg))) except portage.exception.InvalidDependString as e: - rValue.append(_MaskReason("PROPERTIES", "PROPERTIES: "+str(e))) + rValue.append(_MaskReason("invalid", "PROPERTIES: "+str(e))) # Only show KEYWORDS masks for installed packages # if they're not masked for any other reason.