diff options
-rw-r--r-- | pym/_emerge/__init__.py | 15 |
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)] |