summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index fc58198f6..baa4ef267 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -936,6 +936,43 @@ class DepPriority(AbstractDepPriority):
__slots__ = ("satisfied", "optional", "rebuild")
def __int__(self):
+ """
+ Note: These priorities are only used for measuring hardness
+ in the circular dependency display via digraph.debug_print(),
+ and nothing more. For actual merge order calculations, the
+ measures defined by the DepPriorityNormalRange and
+ DepPrioritySatisfiedRange classes are used.
+
+ Attributes Hardness
+
+ not satisfied and buildtime 8
+ not satisfied and runtime 7
+ not satisfied and runtime_post 6
+ satisfied and buildtime and rebuild 5
+ satisfied and buildtime 4
+ satisfied and runtime 3
+ satisfied and runtime_post 2
+ optional 1
+ (none of the above) 0
+
+ """
+ if not self.satisfied:
+ if self.buildtime:
+ return 8
+ if self.runtime:
+ return 7
+ if self.runtime_post:
+ return 6
+ if self.buildtime:
+ if self.rebuild:
+ return 5
+ return 4
+ if self.runtime:
+ return 3
+ if self.runtime_post:
+ return 2
+ if self.optional:
+ return 1
return 0
def __str__(self):