summaryrefslogtreecommitdiffstats
path: root/pym/portage_versions.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-07-22 11:19:17 +0000
committerZac Medico <zmedico@gentoo.org>2006-07-22 11:19:17 +0000
commit7f3d09bb72b4dba98b7d08f7a11239d786c4fd0e (patch)
tree9d2b27f538ab157ebd6bea1de5ca91685c1cc9e6 /pym/portage_versions.py
parent8a03ce3fcf133302a944e7c8bc2f34c7ef9829cf (diff)
downloadportage-7f3d09bb72b4dba98b7d08f7a11239d786c4fd0e.tar.gz
portage-7f3d09bb72b4dba98b7d08f7a11239d786c4fd0e.tar.bz2
portage-7f3d09bb72b4dba98b7d08f7a11239d786c4fd0e.zip
Move portage.best() to portage_versions.
svn path=/main/trunk/; revision=3990
Diffstat (limited to 'pym/portage_versions.py')
-rw-r--r--pym/portage_versions.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/pym/portage_versions.py b/pym/portage_versions.py
index 7c5717987..7492d606e 100644
--- a/pym/portage_versions.py
+++ b/pym/portage_versions.py
@@ -243,3 +243,17 @@ def catpkgsplit(mydata,silent=1):
def catsplit(mydep):
return mydep.split("/", 1)
+def best(mymatches):
+ """Accepts None arguments; assumes matches are valid."""
+ if mymatches is None:
+ return ""
+ if not len(mymatches):
+ return ""
+ bestmatch = mymatches[0]
+ p2 = catpkgsplit(bestmatch)[1:]
+ for x in mymatches[1:]:
+ p1 = catpkgsplit(x)[1:]
+ if pkgcmp(p1, p2) > 0:
+ bestmatch = x
+ p2 = catpkgsplit(bestmatch)[1:]
+ return bestmatch