From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id BFBAC1395E2 for ; Wed, 23 Nov 2016 23:26:06 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E820CE0B6C; Wed, 23 Nov 2016 23:26:04 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BB52AE0B6C for ; Wed, 23 Nov 2016 23:26:04 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 019AE340EE8 for ; Wed, 23 Nov 2016 23:26:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 0A06D487 for ; Wed, 23 Nov 2016 23:26:01 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1479943449.b4c059f6908965981816134d97d68e528ecbe75e.zmedico@gentoo> Subject: [gentoo-commits] proj/gentoolkit:master 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: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: b4c059f6908965981816134d97d68e528ecbe75e X-VCS-Branch: master Date: Wed, 23 Nov 2016 23:26:01 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 61fe2412-a815-4c8a-bf86-bb984a2d5802 X-Archives-Hash: a888bbf4fa5109bb05b05acc14ecdc46 commit: b4c059f6908965981816134d97d68e528ecbe75e Author: Zac Medico gentoo org> AuthorDate: Tue Nov 22 17:45:28 2016 +0000 Commit: Zac Medico gentoo org> CommitDate: Wed Nov 23 23:24:09 2016 +0000 URL: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=b4c059f6 eshowkw: distinguish repository of installed package (bug 600486) X-Gentoo-bug: 600486 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=600486 Acked-by: Brian Dolbec gentoo.org> pym/gentoolkit/eshowkw/keywords_content.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pym/gentoolkit/eshowkw/keywords_content.py b/pym/gentoolkit/eshowkw/keywords_content.py index b6ad118..18926b4 100644 --- a/pym/gentoolkit/eshowkw/keywords_content.py +++ b/pym/gentoolkit/eshowkw/keywords_content.py @@ -101,21 +101,21 @@ class keywords_content: class VersionChecker: def __getVersions(self, packages): """Obtain properly aligned version strings without colors.""" - revlength = max([len(self.__getRevision(x)) for x in packages]) - return [self.__separateVersion(x, revlength) for x in packages] + revlength = max([len(self.__getRevision(x)) for x, repo in packages]) + return [self.__separateVersion(x, repo, revlength) for x, repo in packages] def __getRevision(self, cpv): """Get revision informations for each package for nice further alignment""" rev = port.catpkgsplit(cpv)[3] return rev if rev != 'r0' else '' - def __separateVersion(self, cpv, revlength): - return self.__modifyVersionInfo(cpv, port.versions.cpv_getversion(cpv), revlength) + def __separateVersion(self, cpv, repo, revlength): + return self.__modifyVersionInfo(cpv, repo, port.versions.cpv_getversion(cpv), revlength) - def __modifyVersionInfo(self, cpv, pv, revlength): + def __modifyVersionInfo(self, cpv, repo, pv, revlength): """Prefix and suffix version with string based on whether version is installed or masked and its revision.""" mask = self.__getMaskStatus(cpv) - install = self.__getInstallStatus(cpv) + install = self.__getInstallStatus(cpv, repo) # calculate suffix length currevlen = len(self.__getRevision(cpv)) @@ -149,9 +149,9 @@ class keywords_content: return False - def __getInstallStatus(self, cpv): + def __getInstallStatus(self, cpv, repo): """Check if package version we test is installed.""" - return self.vartree.cpv_exists(cpv) + return bool(self.vartree.match("=%s::%s" % (cpv, repo))) def __init__(self, packages): """Query all relevant data for version data formatting""" @@ -344,7 +344,7 @@ class keywords_content: self.slot_length = max([len(x) for x in self.slots]) repositories_length = max([len(x) for x in self.repositories]) self.keyword_length = len(keywords_list) - vers =self.VersionChecker(packages) + vers =self.VersionChecker(list(zip(packages, self.repositories))) self.versions = vers.versions masks = vers.masks self.version_length = max([len(x) for x in self.versions])