From 741db623a079e3a0b767fb1c8f0b9fae6789285e Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 6 Jun 2008 00:22:35 +0000 Subject: Add a PackageVirtualDbapi.__getitem__() method. svn path=/main/trunk/; revision=10588 --- pym/_emerge/__init__.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'pym/_emerge') 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)] -- cgit v1.2.3-1-g7c22