File: //usr/local/CyberCP/postfixSenderPolicy/policyConstraint.py
from emailPremium.models import DomainLimits, EmailLimits, EmailLogs
from mailServer.models import Domains, EUsers
class emailConstraints:
def __init__(self, emailAddress, monthlyLimits, monthlyUsed, hourlyLimits, hourlyUsed, limitStatus, logStatus):
self.emailAddress = emailAddress
self.monthlyLimits = monthlyLimits
self.monthlyUsed = monthlyUsed
self.hourlyLimits = hourlyLimits
self.hourlyUsed = hourlyUsed
self.limitStatus = limitStatus
self.logStatus = logStatus
class policyConstraints:
def __init__(self, domain, monthlyLimits, monthlyUsed, limitStatus):
self.domain = domain
self.emails = {}
self.monthlyLimits = monthlyLimits
self.monthlyUsed = monthlyUsed
self.limitStatus = limitStatus
def findEmailOBJ(self, emailAddress):
if emailAddress in self.emails:
return self.emails[emailAddress]
else:
email = EUsers.objects.get(email=emailAddress)
emailLTS = EmailLimits.objects.get(email=email)
newEmail = emailConstraints(emailAddress, emailLTS.monthlyLimits, emailLTS.monthlyUsed, emailLTS.hourlyLimit,
emailLTS.hourlyUsed, emailLTS.limitStatus, emailLTS.emailLogs)
self.emails[emailAddress] = newEmail
return newEmail