Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11547 - main/trunk/pym/portage/cache
Date: Thu, 25 Sep 2008 23:13:56
Message-Id: E1Kj01x-0003wc-Jx@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-09-25 23:13:52 +0000 (Thu, 25 Sep 2008)
3 New Revision: 11547
4
5 Modified:
6 main/trunk/pym/portage/cache/flat_hash.py
7 main/trunk/pym/portage/cache/metadata.py
8 main/trunk/pym/portage/cache/sql_template.py
9 main/trunk/pym/portage/cache/sqlite.py
10 main/trunk/pym/portage/cache/template.py
11 Log:
12 Ensure that cache modules always return a dict containing the _eclasses_
13 key.
14
15
16 Modified: main/trunk/pym/portage/cache/flat_hash.py
17 ===================================================================
18 --- main/trunk/pym/portage/cache/flat_hash.py 2008-09-25 21:23:20 UTC (rev 11546)
19 +++ main/trunk/pym/portage/cache/flat_hash.py 2008-09-25 23:13:52 UTC (rev 11547)
20 @@ -46,6 +46,8 @@
21 raise cache_errors.CacheCorruption(cpv, e)
22 if "_eclasses_" in d:
23 d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"])
24 + else:
25 + d["_eclasses_"] = {}
26 return d
27
28 for x in self._known_keys:
29
30 Modified: main/trunk/pym/portage/cache/metadata.py
31 ===================================================================
32 --- main/trunk/pym/portage/cache/metadata.py 2008-09-25 21:23:20 UTC (rev 11546)
33 +++ main/trunk/pym/portage/cache/metadata.py 2008-09-25 23:13:52 UTC (rev 11547)
34 @@ -66,6 +66,8 @@
35 if "INHERITED" in d:
36 d["_eclasses_"] = self.ec.get_eclass_data(d["INHERITED"].split(), from_master_only=True)
37 del d["INHERITED"]
38 + else:
39 + d["_eclasses_"] = {}
40 elif isinstance(d["_eclasses_"], basestring):
41 # We skip this if flat_hash.database._parse_data() was called above
42 # because it calls reconstruct_eclasses() internally.
43
44 Modified: main/trunk/pym/portage/cache/sql_template.py
45 ===================================================================
46 --- main/trunk/pym/portage/cache/sql_template.py 2008-09-25 21:23:20 UTC (rev 11546)
47 +++ main/trunk/pym/portage/cache/sql_template.py 2008-09-25 23:13:52 UTC (rev 11547)
48 @@ -238,6 +238,8 @@
49 d = dict(l)
50 if "_eclasses_" in d:
51 d["_eclasses_"] = reconstruct_eclasses(oldcpv, d["_eclasses_"])
52 + else:
53 + d["_eclasses_"] = {}
54 yield cpv, d
55 l.clear()
56 oldcpv = x
57 @@ -246,6 +248,8 @@
58 d = dict(l)
59 if "_eclasses_" in d:
60 d["_eclasses_"] = reconstruct_eclasses(oldcpv, d["_eclasses_"])
61 + else:
62 + d["_eclasses_"] = {}
63 yield cpv, d
64
65 def commit(self):
66
67 Modified: main/trunk/pym/portage/cache/sqlite.py
68 ===================================================================
69 --- main/trunk/pym/portage/cache/sqlite.py 2008-09-25 21:23:20 UTC (rev 11546)
70 +++ main/trunk/pym/portage/cache/sqlite.py 2008-09-25 23:13:52 UTC (rev 11547)
71 @@ -170,6 +170,8 @@
72 pass #writemsg("%s: %s\n" % (cpv, str(e)))
73 if "_eclasses_" in d:
74 d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"])
75 + else:
76 + d["_eclasses_"] = {}
77 for x in self._known_keys:
78 d.setdefault(x,'')
79 return d
80
81 Modified: main/trunk/pym/portage/cache/template.py
82 ===================================================================
83 --- main/trunk/pym/portage/cache/template.py 2008-09-25 21:23:20 UTC (rev 11546)
84 +++ main/trunk/pym/portage/cache/template.py 2008-09-25 23:13:52 UTC (rev 11547)
85 @@ -37,6 +37,8 @@
86 d=self._getitem(cpv)
87 if self.serialize_eclasses and "_eclasses_" in d:
88 d["_eclasses_"] = reconstruct_eclasses(cpv, d["_eclasses_"])
89 + elif "_eclasses_" not in d:
90 + d["_eclasses_"] = {}
91 return d
92
93 def _getitem(self, cpv):