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): |