From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Pm4R2-0007Da-QJ for garchives@archives.gentoo.org; Sun, 06 Feb 2011 13:13:48 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CD17AE0BC3; Sun, 6 Feb 2011 13:09:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 6E3C8E0B74 for ; Sun, 6 Feb 2011 13:09:50 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id DF45A1B41BC for ; Sun, 6 Feb 2011 13:09:49 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 586F380073 for ; Sun, 6 Feb 2011 13:09:49 +0000 (UTC) From: "Thomas Sachau" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Sachau" Message-ID: Subject: [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/resolver/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/Package.py pym/_emerge/resolver/output.py X-VCS-Directories: pym/_emerge/resolver/ pym/_emerge/ X-VCS-Committer: tommy X-VCS-Committer-Name: Thomas Sachau X-VCS-Revision: a15f54d284e3913b1993a4d9dd2b4db7c46713b5 Date: Sun, 6 Feb 2011 13:09:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 386c3a622e597df9b6b6dea247d0a6e8 commit: a15f54d284e3913b1993a4d9dd2b4db7c46713b5 Author: Brian Dolbec gmail com> AuthorDate: Sun Jan 30 08:57:46 2011 +0000 Commit: Thomas Sachau gentoo org> CommitDate: Sun Jan 30 09:11:58 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Da15f54d2 Use the new _getRawMissingKeyword() which optimizes the keyword display. = Misc. whitespace cleanup --- pym/_emerge/Package.py | 26 ++++++------ pym/_emerge/resolver/output.py | 80 +++++++++++++++++++---------------= ------ 2 files changed, 51 insertions(+), 55 deletions(-) diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index ae9e8f2..c501b1a 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -240,23 +240,23 @@ class Package(Task): def accepted_keyword(self): """returns the keyword used from the ebuild's KEYWORDS string""" =20 - keywords =3D set(self.metadata.get('KEYWORDS').split()) - accept_keywords =3D set(self.root_config.settings['ACCEPT_KEYWORDS'].s= plit()) - used_keyword =3D list(set.intersection(keywords, accept_keywords)) - if used_keyword and len(used_keyword) =3D=3D 1: - used_keyword =3D used_keyword[0] - elif len(used_keyword) > 1: - # you can raise an error here if you prefer, remove it, or set the co= rrect levels - writemsg_level( "_emerge.output.resolver.Display(), too many keywords= recieved for pkg: %s, %s" - % (pkg.cpv, used_keyword)) - used_keyword =3D used_keyword[0] - return used_keyword + missing, _keywords =3D \ + self.root_config.settings._getRawMissingKeywords( + self.cpv, self.metadata) + if '**' in missing: + return '**' + if missing: # keywords to evaluate + for keyword in _keywords: + used_keyword =3D '~' + keyword + if used_keyword in missing: + return used_keyword + return '' =20 def isHardMasked(self): """returns a bool if the cpv is in the list of expanded pmaskdict[cp] availble ebuilds""" - pmask =3D self.root_config.settings._getRawMaskAtom(self.cpv, self.met= adata) - print "pmask =3D", pmask + pmask =3D self.root_config.settings._getRawMaskAtom( + self.cpv, self.metadata) return pmask is not None =20 =20 diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output= .py index f1af30b..d7d18c9 100644 --- a/pym/_emerge/resolver/output.py +++ b/pym/_emerge/resolver/output.py @@ -33,7 +33,7 @@ if sys.hexversion >=3D 0x3000000: =20 class Display(object): """Formats and outputs the depgrah supplied it for merge/re-merge, etc. -=09 + __call__() @param depgraph: list @param favorites: defaults to [] @@ -70,7 +70,7 @@ class Display(object): def _blockers(self, pkg, fetch_symbol): """Processes pkg for blockers and adds colorized strings to self.print_msg and self.blockers - =09 + @param pkg: _emerge.Package instance @param fetch_symbol: string @rtype: bool @@ -86,7 +86,7 @@ class Display(object): addl =3D "%s %s " % (colorize(self.blocker_style, "B"), fetch_symbol) self.resolved =3D dep_expand( - str(pkg.atom).lstrip("!"), mydb=3Dself.vardb,=20 + str(pkg.atom).lstrip("!"), mydb=3Dself.vardb, settings=3Dself.pkgsettings ) if self.conf.columns and self.conf.quiet: @@ -94,7 +94,7 @@ class Display(object): else: addl =3D "[%s %s] %s%s" % \ (colorize(self.blocker_style, "blocks"), - addl, self.indent,=20 + addl, self.indent, colorize(self.blocker_style, str(self.resolved)) ) block_parents =3D self.conf.blocker_parents.parent_nodes(pkg) @@ -118,14 +118,14 @@ class Display(object): =20 def _display_use(self, pkg, myoldbest, myinslotlist): """ USE flag display - =09 + @param pkg: _emerge.Package instance @param myoldbest: list of installed versions @param myinslotlist: list of installed slots Modifies class globals: self.forced_flags, self.cur_iuse, self.old_iuse, self.old_use, self.use_expand """ - =09 + self.forced_flags =3D set() self.forced_flags.update(pkg.use.force) self.forced_flags.update(pkg.use.mask) @@ -159,32 +159,27 @@ class Display(object): =20 def _display_keyword(self, pkg): """ keyword display - =09 + @param pkg: _emerge.Package instance Modifies self.verboseadd """ used_keyword =3D pkg.accepted_keyword() hardmasked =3D pkg.isHardMasked() - text =3D '' - if '~' in used_keyword: - text =3D used_keyword - elif not used_keyword: - text =3D '**' - if text: + if used_keyword: if hardmasked: - self.verboseadd +=3D red('%s ' % text) + self.verboseadd +=3D 'keyword=3D' + red('[%s] ' % used_keyword) else: - self.verboseadd +=3D yellow('%s ' % text) + self.verboseadd +=3D 'keyword=3D' + yellow('%s ' % used_keyword) return =20 def map_to_use_expand(self, myvals, forced_flags=3DFalse, remove_hidden=3DTrue): """Map use expand variables - =09 + @param myvals: list @param forced_flags: bool @param remove_hidden: bool - @rtype ret dictionary=20 + @rtype ret dictionary or ret dict, forced dict. """ ret =3D {} @@ -212,7 +207,7 @@ class Display(object): def recheck_hidden(self, pkg): """ Prevent USE_EXPAND_HIDDEN flags from being hidden if they are the only thing that triggered reinstallation. - =09 + @param pkg: _emerge.Package instance Modifies self.use_expand_hidden, self.use_expand, self.verboseadd """ @@ -243,7 +238,7 @@ class Display(object): =20 self.use_expand.sort() self.use_expand.insert(0, "USE") - =09 + for key in self.use_expand: if key in self.use_expand_hidden: continue @@ -258,7 +253,7 @@ class Display(object): @staticmethod def pkgprint(pkg_str, pkg_info): """Colorizes a string acording to pkg_info settings - =09 + @param pkg_str: string @param pkg_info: dictionary @rtype colorized string @@ -291,7 +286,7 @@ class Display(object): =20 def verbose_size(self, pkg, repoadd_set, pkg_info): """Determines the size of the downloads reqired - =09 + @param pkg: _emerge.Package instance @param repoadd_set: set of repos to add @param pkg_info: dictionary @@ -349,11 +344,11 @@ class Display(object): @staticmethod def convert_myoldbest(myoldbest): """converts and colorizes a version list to a string - =09 + @param myoldbest: list @rtype string. """ - # Convert myoldbest from a list to a string.=20 + # Convert myoldbest from a list to a string. myoldbest_str =3D "" if myoldbest: versions =3D [] @@ -384,7 +379,7 @@ class Display(object): =20 def _set_non_root_columns(self, addl, pkg_info, pkg): """sets the indent level and formats the output - =09 + @param addl: already defined string to add to @param pkg_info: dictionary @param pkg: _emerge.Package instance @@ -418,7 +413,7 @@ class Display(object): =20 def _set_root_columns(self, addl, pkg_info, pkg): """sets the indent level and formats the output - =09 + @param addl: already defined string to add to @param pkg_info: dictionary @param pkg: _emerge.Package instance @@ -473,7 +468,7 @@ class Display(object): =20 def _insert_slot(self, pkg, pkg_info, myinslotlist): """Adds slot info to the message - =09 + @returns addl: formatted slot info @returns myoldbest: installed version list Modifies self.counters.downgrades, self.counters.upgrades, @@ -500,7 +495,7 @@ class Display(object): =20 def _new_slot(self, pkg, pkg_info): """New slot, mark it new. - =09 + @returns addl: formatted slot info @returns myoldbest: installed version list Modifies self.counters.newslot, self.counters.binary @@ -516,7 +511,7 @@ class Display(object): def print_messages(self, show_repos): """Performs the actual output printing of the pre-formatted messages - =09 + @param show_repos: bool. """ for msg in self.print_msg: @@ -543,7 +538,7 @@ class Display(object): =20 def print_verbose(self, show_repos): """Prints the verbose output to std_out - =09 + @param show_repos: bool. """ writemsg_stdout('\n%s\n' % (self.counters,), noiselevel=3D-1) @@ -567,11 +562,11 @@ class Display(object): =20 def get_display_list(self, mylist): """Determines the display list to process - =09 + @param mylist @rtype list Modifies self.counters.blocks, self.counters.blocks_satisfied, - =09 + """ unsatisfied_blockers =3D [] ordered_nodes =3D [] @@ -596,11 +591,11 @@ class Display(object): =20 def set_pkg_info(self, pkg, ordered): """Sets various pkg_info dictionary variables - =09 + @param pkg: _emerge.Package instance @param ordered: bool @rtype pkg_info dictionary - Modifies self.counters.restrict_fetch,=20 + Modifies self.counters.restrict_fetch, self.counters.restrict_fetch_satisfied """ pkg_info =3D PkgInfo() @@ -640,7 +635,7 @@ class Display(object): =20 def do_changelog(self, pkg, pkg_info): """Processes and adds the changelog text to the master text for output - =09 + @param pkg: _emerge.Package instance @param pkg_info: dictionay Modifies self.changelogs @@ -659,7 +654,7 @@ class Display(object): =20 def check_system_world(self, pkg): """Checks for any occurances of the package in the system or world set= s - =09 + @param pkg: _emerge.Package instance @rtype system and world booleans """ @@ -684,7 +679,7 @@ class Display(object): except InvalidDependString: # This is reported elsewhere if relevant. pass - return system, world=20 + return system, world =20 =20 @staticmethod @@ -706,12 +701,12 @@ class Display(object): "empty" param testing because "empty" param is used for -u, where you still *do* want to see when something is being upgraded. - =09 + @param pkg: _emerge.Package instance @param pkg_info: dictionay @rtype addl, myoldbest: list, myinslotlist: list Modifies self.counters.reinst, self.counters.binary, self.counters.new - =09 + """ myoldbest =3D [] myinslotlist =3D None @@ -753,14 +748,14 @@ class Display(object): =20 def __call__(self, depgraph, mylist, favorites=3DNone, verbosity=3DNone= ): """The main operation to format and display the resolver output. - =09 + @param depgraph: dependency grah @param mylist: list of packages being processed @param favorites: list, defaults to [] @param verbosity: verbose level, defaults to None Modifies self.conf, self.myfetchlist, self.portdb, self.vardb, - self.pkgsettings, self.verboseadd, self.oldlp, self.newlp,=20 - self.print_msg,=20 + self.pkgsettings, self.verboseadd, self.oldlp, self.newlp, + self.print_msg, """ if favorites is None: favorites =3D [] @@ -789,7 +784,8 @@ class Display(object): self._get_installed_best(pkg, pkg_info) self.verboseadd =3D "" self.repoadd =3D None - self._display_keyword(pkg) + if self.conf.verbosity =3D=3D 3: + self._display_keyword(pkg) self._display_use(pkg, pkg_info.oldbest, myinslotlist) self.recheck_hidden(pkg) if self.conf.verbosity =3D=3D 3: