diff options
author | Zac Medico <zmedico@gentoo.org> | 2016-11-22 09:45:28 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2016-11-23 15:24:09 -0800 |
commit | b4c059f6908965981816134d97d68e528ecbe75e (patch) | |
tree | aa677fa3f33dba4092c42f2a850a614c51c31a56 | |
parent | eread: Fix bash error when the elog directory is empty (diff) | |
download | gentoolkit-0.3.3.tar.gz gentoolkit-0.3.3.tar.bz2 gentoolkit-0.3.3.zip |
eshowkw: distinguish repository of installed package (bug 600486)gentoolkit-0.3.3
X-Gentoo-bug: 600486
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=600486
Acked-by: Brian Dolbec <dolsen@gentoo.org>
-rw-r--r-- | pym/gentoolkit/eshowkw/keywords_content.py | 18 |
1 files 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]) |