1 |
commit: a3ddca88b876d359ef92d9544999d1bf580061fb |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 29 05:46:02 2011 +0000 |
4 |
Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 29 05:46:02 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a3ddca88 |
7 |
|
8 |
depgraph: fix get_dep_chain unicode handling |
9 |
|
10 |
--- |
11 |
pym/_emerge/depgraph.py | 15 ++++++++------- |
12 |
1 files changed, 8 insertions(+), 7 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
15 |
index 7767377..a927222 100644 |
16 |
--- a/pym/_emerge/depgraph.py |
17 |
+++ b/pym/_emerge/depgraph.py |
18 |
@@ -2178,7 +2178,7 @@ class depgraph(object): |
19 |
def _get_dep_chain(self, pkg, target_atom=None, unsatisfied_dependency=False): |
20 |
""" |
21 |
Returns a list of (atom, node_type) pairs that represent a dep chain. |
22 |
- If target_atom is None, the first package shown is pkg's paretn. |
23 |
+ If target_atom is None, the first package shown is pkg's parent. |
24 |
If target_atom is not None the first package shown is pkg. |
25 |
If unsatisfied_dependency is True, the first parent is select who's |
26 |
dependency is not satisfied by 'pkg'. This is need for USE changes. |
27 |
@@ -2196,7 +2196,7 @@ class depgraph(object): |
28 |
for dep_str in "DEPEND", "RDEPEND", "PDEPEND": |
29 |
affecting_use.update(extract_affecting_use(pkg.metadata[dep_str], target_atom)) |
30 |
affecting_use.difference_update(pkg.use.mask, node.use.force) |
31 |
- pkg_name = pkg.cpv |
32 |
+ pkg_name = _unicode_decode("%s") % (pkg.cpv,) |
33 |
if affecting_use: |
34 |
usedep = [] |
35 |
for flag in affecting_use: |
36 |
@@ -2206,13 +2206,13 @@ class depgraph(object): |
37 |
usedep.append("-"+flag) |
38 |
pkg_name += "[%s]" % ",".join(usedep) |
39 |
|
40 |
- dep_chain.append(( _unicode_decode(pkg_name), _unicode_decode(pkg.type_name))) |
41 |
+ dep_chain.append((pkg_name, pkg.type_name)) |
42 |
|
43 |
while node is not None: |
44 |
traversed_nodes.add(node) |
45 |
|
46 |
if isinstance(node, DependencyArg): |
47 |
- dep_chain.append((_unicode_decode(node), "argument")) |
48 |
+ dep_chain.append((_unicode_decode("%s") % (node,), "argument")) |
49 |
|
50 |
elif node is not pkg: |
51 |
for ppkg, patom in all_parents[child]: |
52 |
@@ -2237,7 +2237,7 @@ class depgraph(object): |
53 |
affecting_use.difference_update(node.use.mask, \ |
54 |
node.use.force) |
55 |
|
56 |
- pkg_name = node.cpv |
57 |
+ pkg_name = _unicode_decode("%s") % (node.cpv,) |
58 |
if affecting_use: |
59 |
usedep = [] |
60 |
for flag in affecting_use: |
61 |
@@ -2247,7 +2247,7 @@ class depgraph(object): |
62 |
usedep.append("-"+flag) |
63 |
pkg_name += "[%s]" % ",".join(usedep) |
64 |
|
65 |
- dep_chain.append(( _unicode_decode(pkg_name), _unicode_decode(node.type_name))) |
66 |
+ dep_chain.append((pkg_name, node.type_name)) |
67 |
|
68 |
if node not in self._dynamic_config.digraph: |
69 |
# The parent is not in the graph due to backtracking. |
70 |
@@ -2265,7 +2265,8 @@ class depgraph(object): |
71 |
selected_parent = parent |
72 |
child = node |
73 |
else: |
74 |
- dep_chain.append(( _unicode_decode(parent), "argument")) |
75 |
+ dep_chain.append( |
76 |
+ (_unicode_decode("%s") % (parent,), "argument")) |
77 |
selected_parent = None |
78 |
break |
79 |
else: |