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 1PsnLH-0002NO-8c for garchives@archives.gentoo.org; Fri, 25 Feb 2011 02:23:39 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3EF381C006; Fri, 25 Feb 2011 02:23:31 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id ECC9F1C006 for ; Fri, 25 Feb 2011 02:23:30 +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 5823C1B4158 for ; Fri, 25 Feb 2011 02:23:30 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 859EE8006A for ; Fri, 25 Feb 2011 02:23:29 +0000 (UTC) From: "Brian Dolbec" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" Message-ID: <897833f0abc06b88849c7df76de6ef0f4023d767.dol-sen@gentoo> Subject: [gentoo-commits] proj/gentoolkit:gentoolkit commit in: pym/gentoolkit/eshowkw/ X-VCS-Repository: proj/gentoolkit X-VCS-Files: pym/gentoolkit/eshowkw/keywords_content.py X-VCS-Directories: pym/gentoolkit/eshowkw/ X-VCS-Committer: dol-sen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: 897833f0abc06b88849c7df76de6ef0f4023d767 Date: Fri, 25 Feb 2011 02:23:29 +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: 248ef4230219535a41c43f8ceddee4ed commit: 897833f0abc06b88849c7df76de6ef0f4023d767 Author: Brian Dolbec gmail com> AuthorDate: Fri Feb 25 01:53:01 2011 +0000 Commit: Brian Dolbec gmail com> CommitDate: Fri Feb 25 01:53:01 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoolkit.gi= t;a=3Dcommit;h=3D897833f0 move mysettings out of __getMaskStatus() into __init__() so it is only do= ne once =3D 1/7th the time to run. decorate functions not needing self with @staticmethod. --- pym/gentoolkit/eshowkw/keywords_content.py | 33 +++++++++++++++++-----= ----- 1 files changed, 21 insertions(+), 12 deletions(-) diff --git a/pym/gentoolkit/eshowkw/keywords_content.py b/pym/gentoolkit/= eshowkw/keywords_content.py index a8ffedc..637c99a 100644 --- a/pym/gentoolkit/eshowkw/keywords_content.py +++ b/pym/gentoolkit/eshowkw/keywords_content.py @@ -34,7 +34,8 @@ class keywords_content: # this is required because the list itself is not just one level dept= h return list(''.join(output)) =20 - def __uniq(self, seq): + @staticmethod + def __uniq(seq): """Remove all duplicate elements from list.""" seen =3D {} result =3D [] @@ -45,7 +46,8 @@ class keywords_content: result.append(item) return result =20 - def __cleanKeyword(self, keyword): + @staticmethod + def __cleanKeyword(keyword): """Remove masked arches and hardmasks from keywords since we don't ca= re about that.""" return ["%s" % x for x in keyword.split() if x !=3D '-*' and not x.startswith('-')] @@ -137,8 +139,7 @@ class keywords_content: def __getMaskStatus(self, cpv): """Figure out if package is pmasked.""" try: - mysettings =3D port.config(local_config=3DFalse) - if "package.mask" in port.getmaskingstatus(cpv, settings=3Dmysetting= s): + if "package.mask" in port.getmaskingstatus(cpv, settings=3Dself.myse= ttings): return True except: # occurs when package is not known by portdb @@ -146,17 +147,20 @@ class keywords_content: pass return False =20 + def __getInstallStatus(self, cpv): """Check if package version we test is installed.""" - vartree =3D port.db[port.settings['ROOT']]['vartree'].dbapi - return vartree.cpv_exists(cpv) + return self.vartree.cpv_exists(cpv) =20 def __init__(self, packages): """Query all relevant data for version data formatting""" + self.vartree =3D port.db[port.settings['ROOT']]['vartree'].dbapi + self.mysettings =3D port.config(local_config=3DFalse) self.versions =3D self.__getVersions(packages) self.masks =3D map(lambda x: self.__getMaskStatus(x), packages) =20 - def __packages_sort(self, package_content): + @staticmethod + def __packages_sort(package_content): """ Sort packages queried based on version and slot %% pn , repo, slot, keywords @@ -218,7 +222,8 @@ class keywords_content: raise SystemExit(msg_err) return list(zip(*matches)) =20 - def __getMetadata(self, pdb, package, repo): + @staticmethod + def __getMetadata(pdb, package, repo): """Obtain all required metadata from portage auxdb""" try: metadata =3D pdb.aux_get(package, ['KEYWORDS', 'SLOT'], repo) @@ -235,7 +240,8 @@ class keywords_content: for i, arch in enumerate(keywords_list)]) for version in keywords] =20 - def __prepareKeywordChar(self, arch, field, keywords, usebold =3D False= , toplist =3D 'archlist'): + @staticmethod + def __prepareKeywordChar(arch, field, keywords, usebold =3D False, topl= ist =3D 'archlist'): """ Convert specified keywords for package into their visual replacements. # possibilities: @@ -262,7 +268,8 @@ class keywords_content: char =3D colorize('bold', char) return char =20 - def __formatVersions(self, versions, align, length): + @staticmethod + def __formatVersions(versions, align, length): """Append colors and align keywords properly""" # % are used as separators for further split so we wont loose spaces a= nd coloring tmp =3D [] @@ -279,7 +286,8 @@ class keywords_content: tmp.append(pv) return tmp =20 - def __formatAdditional(self, additional, color, length): + @staticmethod + def __formatAdditional(additional, color, length): """Align additional items properly""" # % are used as separators for further split so we wont loose spaces a= nd coloring tmp =3D [] @@ -294,7 +302,8 @@ class keywords_content: tmp.append(x) return tmp =20 - def __prepareContentResult(self, versions, keywords, redundant, slots, = slot_length, repos, linesep): + @staticmethod + def __prepareContentResult(versions, keywords, redundant, slots, slot_l= ength, repos, linesep): """Parse version fields into one list with proper separators""" content =3D [] oldslot =3D ''