From: Zac Medico Date: Fri, 6 Jun 2008 00:22:35 +0000 (-0000) Subject: Add a PackageVirtualDbapi.__getitem__() method. X-Git-Tag: v2.2_pre8~20 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=741db623a079e3a0b767fb1c8f0b9fae6789285e;p=portage.git Add a PackageVirtualDbapi.__getitem__() method. svn path=/main/trunk/; revision=10588 --- 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)]