from common.models import * from utils.Logger import * from decimal import * class UserQuotaManager(Logger): REJECTED = "Insufficient quota" def __init__(self, user: PyrosUser): super().__init__("UserManager", "UserManager") self.user = user @classmethod def determineQuota(cls, sequence: Sequence) -> float: #TODO : change return value (quota isn't associated with PyrosUser) return 100 return sequence.request.pyros_user.quota @classmethod def isSufficient(cls, quota: float, sequence: Sequence) -> bool: #print("seq is", sequence.duration) #print("quota is", quota) if quota < sequence.duration: return False return True @classmethod def determinePriority(cls, sequence: Sequence) -> float: return 0 def decreaseQuota(self, value: Decimal) -> int: #TODO : update this method according to new models #self.user.quota -= float(value) #self.user.save() return 0