From 995f4f42a8022a734e28ef009e0d1cb00494b2da Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 9 Nov 2008 20:36:29 +0000 Subject: Add PROPERTIES=interactive support in depgraph.display() and the PackageCounters class. svn path=/main/trunk/; revision=11837 --- pym/_emerge/__init__.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'pym') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index ae6161017..9791533e9 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -7415,6 +7415,22 @@ class depgraph(object): else: return colorize("PKG_NOMERGE", pkg_str) + try: + properties = flatten(use_reduce(paren_reduce( + pkg.metadata["PROPERTIES"]), uselist=pkg.use.enabled)) + except portage.exception.InvalidDependString, e: + if not pkg.installed: + show_invalid_depstring_notice(pkg, + pkg.metadata["PROPERTIES"], str(e)) + del e + return 1 + properties = [] + interactive = "interactive" in properties + if interactive and pkg.operation == "merge": + addl = colorize("WARN", "I") + addl[1:] + if ordered: + counters.interactive += 1 + if x[1]!="/": if myoldbest: myoldbest +=" " @@ -8169,6 +8185,7 @@ class PackageCounters(object): self.totalsize = 0 self.restrict_fetch = 0 self.restrict_fetch_satisfied = 0 + self.interactive = 0 def __str__(self): total_installs = self.upgrades + self.downgrades + self.newslot + self.new + self.reinst @@ -8201,6 +8218,9 @@ class PackageCounters(object): details.append("%s uninstall" % self.uninst) if self.uninst > 1: details[-1] += "s" + if self.interactive > 0: + details.append("%s %s" % (self.interactive, + colorize("WARN", "interactive"))) myoutput.append(", ".join(details)) if total_installs != 0: myoutput.append(")") -- cgit v1.2.3-1-g7c22