commit:     78273a404ea6244eab4180dff2bd1847609ac09a
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 21 16:10:57 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Mon Aug 21 16:16:05 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=78273a40

digraph: search for relevant priority in descending order

It's more likely that a higher valued priority will not be
ignored, therefore search in descending order.

 pym/portage/util/digraph.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pym/portage/util/digraph.py b/pym/portage/util/digraph.py
index bf20d5d4e..d279b7867 100644
--- a/pym/portage/util/digraph.py
+++ b/pym/portage/util/digraph.py
@@ -170,7 +170,7 @@ class digraph(object):
                children = []
                if hasattr(ignore_priority, '__call__'):
                        for child, priorities in self.nodes[node][0].items():
-                               for priority in priorities:
+                               for priority in reversed(priorities):
                                        if not ignore_priority(priority):
                                                children.append(child)
                                                break
@@ -187,7 +187,7 @@ class digraph(object):
                parents = []
                if hasattr(ignore_priority, '__call__'):
                        for parent, priorities in self.nodes[node][1].items():
-                               for priority in priorities:
+                               for priority in reversed(priorities):
                                        if not ignore_priority(priority):
                                                parents.append(parent)
                                                break
@@ -212,7 +212,7 @@ class digraph(object):
                        for node in self.order:
                                is_leaf_node = True
                                for child, priorities in 
self.nodes[node][0].items():
-                                       for priority in priorities:
+                                       for priority in reversed(priorities):
                                                if not 
ignore_priority(priority):
                                                        is_leaf_node = False
                                                        break
@@ -246,7 +246,7 @@ class digraph(object):
                        for node in self.order:
                                is_root_node = True
                                for parent, priorities in 
self.nodes[node][1].items():
-                                       for priority in priorities:
+                                       for priority in reversed(priorities):
                                                if not 
ignore_priority(priority):
                                                        is_root_node = False
                                                        break

Reply via email to