1 |
commit: 27c2591cd0b433e4b94575175dc7b9404e66747d |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 1 00:16:34 2013 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 1 00:16:34 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=27c2591c |
7 |
|
8 |
depgraph.display(): handle reverse for --tree |
9 |
|
10 |
This factors --tree logic out of the calling code, and allows |
11 |
optimization of _show_merge_list to use reference comparison instead |
12 |
of == comparison. Also, deprecate the unused depgraph.altlist() |
13 |
"reversed" parameter, due to builtin name collision. |
14 |
|
15 |
--- |
16 |
pym/_emerge/Scheduler.py | 6 +----- |
17 |
pym/_emerge/actions.py | 8 ++++---- |
18 |
pym/_emerge/depgraph.py | 26 +++++++++++++++----------- |
19 |
pym/_emerge/resolver/circular_dependency.py | 3 +-- |
20 |
4 files changed, 21 insertions(+), 22 deletions(-) |
21 |
|
22 |
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py |
23 |
index 4e8b223..94d3d3f 100644 |
24 |
--- a/pym/_emerge/Scheduler.py |
25 |
+++ b/pym/_emerge/Scheduler.py |
26 |
@@ -1827,11 +1827,7 @@ class Scheduler(PollScheduler): |
27 |
return False |
28 |
|
29 |
if success and self._show_list(): |
30 |
- mylist = mydepgraph.altlist() |
31 |
- if mylist: |
32 |
- if "--tree" in self.myopts: |
33 |
- mylist = tuple(reversed(mylist)) |
34 |
- mydepgraph.display(mylist, favorites=self._favorites) |
35 |
+ mydepgraph.display(mydepgraph.altlist(), favorites=self._favorites) |
36 |
|
37 |
if not success: |
38 |
self._post_mod_echo_msgs.append(mydepgraph.display_problems) |
39 |
|
40 |
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py |
41 |
index 7b2cf54..d6e8100 100644 |
42 |
--- a/pym/_emerge/actions.py |
43 |
+++ b/pym/_emerge/actions.py |
44 |
@@ -336,7 +336,7 @@ def action_build(settings, trees, mtimedb, |
45 |
return os.EX_OK |
46 |
favorites = mtimedb["resume"]["favorites"] |
47 |
retval = mydepgraph.display( |
48 |
- mydepgraph.altlist(reversed=tree), |
49 |
+ mydepgraph.altlist(), |
50 |
favorites=favorites) |
51 |
mydepgraph.display_problems() |
52 |
mergelist_shown = True |
53 |
@@ -345,7 +345,7 @@ def action_build(settings, trees, mtimedb, |
54 |
prompt="Would you like to resume merging these packages?" |
55 |
else: |
56 |
retval = mydepgraph.display( |
57 |
- mydepgraph.altlist(reversed=("--tree" in myopts)), |
58 |
+ mydepgraph.altlist(), |
59 |
favorites=favorites) |
60 |
mydepgraph.display_problems() |
61 |
mergelist_shown = True |
62 |
@@ -404,7 +404,7 @@ def action_build(settings, trees, mtimedb, |
63 |
return os.EX_OK |
64 |
favorites = mtimedb["resume"]["favorites"] |
65 |
retval = mydepgraph.display( |
66 |
- mydepgraph.altlist(reversed=tree), |
67 |
+ mydepgraph.altlist(), |
68 |
favorites=favorites) |
69 |
mydepgraph.display_problems() |
70 |
mergelist_shown = True |
71 |
@@ -412,7 +412,7 @@ def action_build(settings, trees, mtimedb, |
72 |
return retval |
73 |
else: |
74 |
retval = mydepgraph.display( |
75 |
- mydepgraph.altlist(reversed=("--tree" in myopts)), |
76 |
+ mydepgraph.altlist(), |
77 |
favorites=favorites) |
78 |
mydepgraph.display_problems() |
79 |
mergelist_shown = True |
80 |
|
81 |
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
82 |
index 9c0a966..3e29508 100644 |
83 |
--- a/pym/_emerge/depgraph.py |
84 |
+++ b/pym/_emerge/depgraph.py |
85 |
@@ -9,6 +9,7 @@ import logging |
86 |
import stat |
87 |
import sys |
88 |
import textwrap |
89 |
+import warnings |
90 |
from collections import deque |
91 |
from itertools import chain |
92 |
|
93 |
@@ -5694,7 +5695,12 @@ class depgraph(object): |
94 |
|
95 |
mygraph.order.sort(key=cmp_sort_key(cmp_merge_preference)) |
96 |
|
97 |
- def altlist(self, reversed=False): |
98 |
+ def altlist(self, reversed=DeprecationWarning): |
99 |
+ |
100 |
+ if reversed is not DeprecationWarning: |
101 |
+ warnings.warn("The reversed parameter of " |
102 |
+ "_emerge.depgraph.depgraph.altlist() is deprecated", |
103 |
+ DeprecationWarning, stacklevel=2) |
104 |
|
105 |
while self._dynamic_config._serialized_tasks_cache is None: |
106 |
self._resolve_conflicts() |
107 |
@@ -5705,8 +5711,8 @@ class depgraph(object): |
108 |
pass |
109 |
|
110 |
retlist = self._dynamic_config._serialized_tasks_cache |
111 |
- if reversed: |
112 |
- # TODO: deprecate the "reversed" parameter (builtin name collision) |
113 |
+ if reversed is not DeprecationWarning and reversed: |
114 |
+ # TODO: remove the "reversed" parameter (builtin name collision) |
115 |
retlist = list(retlist) |
116 |
retlist.reverse() |
117 |
retlist = tuple(retlist) |
118 |
@@ -6647,14 +6653,8 @@ class depgraph(object): |
119 |
def _show_merge_list(self): |
120 |
if self._dynamic_config._serialized_tasks_cache is not None and \ |
121 |
not (self._dynamic_config._displayed_list is not None and \ |
122 |
- (self._dynamic_config._displayed_list is self._dynamic_config._serialized_tasks_cache or \ |
123 |
- self._dynamic_config._displayed_list == self._dynamic_config._serialized_tasks_cache or \ |
124 |
- self._dynamic_config._displayed_list == \ |
125 |
- list(reversed(self._dynamic_config._serialized_tasks_cache)))): |
126 |
- display_list = self._dynamic_config._serialized_tasks_cache |
127 |
- if "--tree" in self._frozen_config.myopts: |
128 |
- display_list = tuple(reversed(display_list)) |
129 |
- self.display(display_list) |
130 |
+ self._dynamic_config._displayed_list is self._dynamic_config._serialized_tasks_cache): |
131 |
+ self.display(self._dynamic_config._serialized_tasks_cache) |
132 |
|
133 |
def _show_unsatisfied_blockers(self, blockers): |
134 |
self._show_merge_list() |
135 |
@@ -6749,6 +6749,10 @@ class depgraph(object): |
136 |
# redundantly displaying this exact same merge list |
137 |
# again via _show_merge_list(). |
138 |
self._dynamic_config._displayed_list = mylist |
139 |
+ |
140 |
+ if "--tree" in self._frozen_config.myopts: |
141 |
+ mylist = tuple(reversed(mylist)) |
142 |
+ |
143 |
display = Display() |
144 |
|
145 |
return display(self, mylist, favorites, verbosity) |
146 |
|
147 |
diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py |
148 |
index 6380b22..b710671 100644 |
149 |
--- a/pym/_emerge/resolver/circular_dependency.py |
150 |
+++ b/pym/_emerge/resolver/circular_dependency.py |
151 |
@@ -62,8 +62,7 @@ class circular_dependency_handler(object): |
152 |
node = nodes[0] |
153 |
display_order.append(node) |
154 |
tempgraph.remove(node) |
155 |
- display_order.reverse() |
156 |
- return display_order |
157 |
+ return tuple(display_order) |
158 |
|
159 |
def _prepare_circular_dep_message(self): |
160 |
""" |