| # Copyright 1999-2013 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| from _emerge.AbstractDepPriority import AbstractDepPriority |
| |
| |
| class UnmergeDepPriority(AbstractDepPriority): |
| __slots__ = ( |
| "ignored", |
| "optional", |
| "satisfied", |
| ) |
| """ |
| Combination of properties Priority Category |
| |
| runtime_slot_op 0 HARD |
| runtime -1 HARD |
| runtime_post -2 HARD |
| buildtime -3 SOFT |
| (none of the above) -3 SOFT |
| """ |
| |
| MAX = 0 |
| SOFT = -3 |
| MIN = -3 |
| |
| def __init__(self, **kwargs): |
| AbstractDepPriority.__init__(self, **kwargs) |
| if self.buildtime: |
| self.optional = True |
| |
| def __int__(self): |
| if self.runtime_slot_op: |
| return 0 |
| if self.runtime: |
| return -1 |
| if self.runtime_post: |
| return -2 |
| if self.buildtime: |
| return -3 |
| return -3 |
| |
| def __str__(self): |
| if self.ignored: |
| return "ignored" |
| if self.runtime_slot_op: |
| return "hard slot op" |
| myvalue = self.__int__() |
| if myvalue > self.SOFT: |
| return "hard" |
| return "soft" |