summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 913c0d35e..1b5de6641 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1788,6 +1788,21 @@ class PackageVirtualDbapi(portage.dbapi):
return True
return False
+ def __getitem__(self, k):
+ cpv = getattr(k, "cpv", None)
+ if cpv is None:
+ try:
+ cpv = k[2]
+ except (TypeError, IndexError):
+ raise KeyError(k)
+ if cpv is None:
+ raise KeyError(k)
+ existing = self._cpv_map.get(cpv)
+ if existing is not None and \
+ existing == k:
+ return existing
+ raise KeyError(k)
+
def match_pkgs(self, atom):
return [self._cpv_map[cpv] for cpv in self.match(atom)]