# 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"