diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-05-13 01:36:25 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-05-13 01:36:25 -0700 |
commit | f31320b67c9f593a2a8592e1a4e547f5f641943a (patch) | |
tree | b5fbe65ded8a1ffc75ccf5f80c50e0872ad6972a /pym/portage/dbapi/virtual.py | |
parent | 0903cf2a1544d970b286a3e7e1f3276daa4eab9c (diff) | |
download | portage-f31320b67c9f593a2a8592e1a4e547f5f641943a.tar.gz portage-f31320b67c9f593a2a8592e1a4e547f5f641943a.tar.bz2 portage-f31320b67c9f593a2a8592e1a4e547f5f641943a.zip |
_pkg_str: add version attribute for comparisons
This attribute can be passed directly into vercmp, avoiding the need to
generate this string many times.
Diffstat (limited to 'pym/portage/dbapi/virtual.py')
-rw-r--r-- | pym/portage/dbapi/virtual.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pym/portage/dbapi/virtual.py b/pym/portage/dbapi/virtual.py index 84b6b9367..da15983ee 100644 --- a/pym/portage/dbapi/virtual.py +++ b/pym/portage/dbapi/virtual.py @@ -4,7 +4,7 @@ from portage.dbapi import dbapi from portage.dbapi.dep_expand import dep_expand -from portage import cpv_getkey +from portage.versions import cpv_getkey, _pkg_str class fakedbapi(dbapi): """A fake dbapi that allows consumers to inject/remove packages to/from it @@ -74,7 +74,13 @@ class fakedbapi(dbapi): @param metadata: dict """ self._clear_cache() - mycp = cpv_getkey(mycpv) + if not hasattr(mycpv, 'cp'): + if metadata is None: + mycpv = _pkg_str(mycpv) + else: + mycpv = _pkg_str(mycpv, slot=metadata.get('SLOT'), + repo=metadata.get('repository')) + mycp = mycpv.cp self.cpvdict[mycpv] = metadata myslot = None if self._exclusive_slots and metadata: |