Use dep_getcpv() inside dep_expand() for code sharing and caching.
authorZac Medico <zmedico@gentoo.org>
Sun, 10 Dec 2006 08:09:34 +0000 (08:09 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 10 Dec 2006 08:09:34 +0000 (08:09 -0000)
svn path=/main/trunk/; revision=5252

pym/portage.py

index d84b6bcea9bfe354c844512b57f66d95622fc6dc..7b0d17cc048fd3fce34cea8712bed11efbefd86c 100644 (file)
@@ -3837,21 +3837,11 @@ def dep_expand(mydep, mydb=None, use_cache=1, settings=None):
                return mydep
        if mydep[0]=="*":
                mydep=mydep[1:]
-       prefix=""
-       postfix=""
-       if mydep[-1]=="*":
-               mydep=mydep[:-1]
-               postfix="*"
-       if mydep[:2] in [ ">=", "<=" ]:
-               prefix=mydep[:2]
-               mydep=mydep[2:]
-       elif mydep[:1] in "=<>~!":
-               prefix=mydep[:1]
-               mydep=mydep[1:]
-       colon = mydep.rfind(":")
-       if colon != -1:
-               postfix = mydep[colon:]
-               mydep = mydep[:colon]
+       orig_dep = mydep
+       mydep = dep_getcpv(orig_dep)
+       myindex = orig_dep.index(mydep)
+       prefix = orig_dep[:myindex]
+       postfix = orig_dep[myindex+len(mydep):]
        return prefix + cpv_expand(
                mydep, mydb=mydb, use_cache=use_cache, settings=settings) + postfix