From 0c89454e0fbdbf6b0945eaf0f7540810dae7c1fe Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 27 Nov 2007 02:08:03 +0000 Subject: Fix config.pop() so that is will properly raise a KeyError. svn path=/main/trunk/; revision=8704 --- pym/portage/__init__.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'pym') diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 79e559d69..c66a1ab33 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -2470,11 +2470,18 @@ class config(object): return d[k] return x - def pop(self, k, x=None): - self.modifying() - v = x + def pop(self, key, *args): + if len(args) > 1: + raise TypeError( + "pop expected at most 2 arguments, got " + \ + repr(1 + len(args))) + v = self for d in reversed(self.lookuplist): - v = d.pop(k, v) + v = d.pop(key, v) + if v is self: + if args: + return args[0] + raise KeyError(key) return v def has_key(self,mykey): -- cgit v1.2.3-1-g7c22