diff options
-rw-r--r-- | pym/_emerge/__init__.py | 37 |
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): |