Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10780 - main/trunk/pym/_emerge
Date: Wed, 25 Jun 2008 08:42:08
Message-Id: E1KBQZn-0004Jz-Iy@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-06-25 08:42:02 +0000 (Wed, 25 Jun 2008)
3 New Revision: 10780
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Implement __contains__, pop() and clear() for Package.metadata attributes.
9
10
11 Modified: main/trunk/pym/_emerge/__init__.py
12 ===================================================================
13 --- main/trunk/pym/_emerge/__init__.py 2008-06-25 07:49:58 UTC (rev 10779)
14 +++ main/trunk/pym/_emerge/__init__.py 2008-06-25 08:42:02 UTC (rev 10780)
15 @@ -1446,6 +1446,29 @@
16 except KeyError:
17 return default
18
19 + def __contains__(self, k):
20 + return hasattr(self, "_val_" + k)
21 +
22 + def pop(self, key, *args):
23 + if len(args) > 1:
24 + raise TypeError("pop expected at most 2 arguments, got " + \
25 + repr(1 + len(args)))
26 + try:
27 + value = self[key]
28 + except KeyError:
29 + if args:
30 + return args[0]
31 + raise
32 + del self[key]
33 + return value
34 +
35 + def clear(self):
36 + for k in self._keys:
37 + try:
38 + delattr(self, "_val_" + k)
39 + except AttributError:
40 + pass
41 +
42 def _set_inherited(self, k, v):
43 if isinstance(v, basestring):
44 v = frozenset(v.split())
45
46 --
47 gentoo-commits@l.g.o mailing list