def get(self): #logging.debug("===== VIP Upgrade Monitor Launched =====") tVip = VipSubscription() tSubscriptionTierGrades = { "Tier1": ("Tier0", (0, 30)), "Tier2": ("Tier1", (31, 60)), "Tier3": ("Tier2", (61, 120)), "Tier4": ("Tier3", (121, 5000)) } tSubscriptionTierGrades = TierContainer.GetVipTierInfo() tSortedKeys = sorted(tSubscriptionTierGrades.keys()) #logging.debug("Tiers: " + str(tSortedKeys)) for tier in tSortedKeys: #establish parameters for vips that need upgrading tMinDays = tSubscriptionTierGrades[tier][1][0] tMaxDays = tSubscriptionTierGrades[tier][1][1] tOldTier = tSubscriptionTierGrades[tier][0] #logging.debug("Old Tier: " + str(tOldTier)) #logging.debug("Min Days: " + str(tMinDays)) #logging.debug("New Tier: " + str(tier)) #logging.debug("Max Days: " + str(tMaxDays)) tMinDaysAgo = TimeHelperMethods.DaysAgo(tMinDays) tMaxDaysAgo = TimeHelperMethods.DaysAgo(tMaxDays) #logging.debug("Min Days Ago: " + str(tMinDaysAgo)) #logging.debug("Max Days Ago: " + str(tMaxDaysAgo)) tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionStart <=", tMinDaysAgo) tVipSubQuery.filter("subscriptionStart >=", tMaxDaysAgo) tVipSubQuery.filter("subscriptionIsActive", True) tVipSubQuery.filter("subscriptionAutoState", tOldTier) tVipList = tVipSubQuery.fetch(limit=100) #logging.debug("Vip List: " + str(tVipList)) #these are vips that need to be auto-updated if (tVipList != None and len(tVipList) > 0): for tVip in tVipList: if (tVip.subscriptionAutoState == tVip.subscriptionManualState and tVip.subscriptionManualState != 'Tier0'): if (tVip.subscriptionNeedsUpgrade != False): tVip.subscriptionNeedsUpgrade = False tVip.put() else: tVip.subscriptionAutoState = tier tVip.subscriptionNeedsUpgrade = True tVip.put()
def get(self): #logging.debug("===== VIP Upgrade Monitor Launched =====") tVip = VipSubscription() tSubscriptionTierGrades = { "Tier1": ("Tier0", (0, 30)), "Tier2": ("Tier1", (31, 60)), "Tier3": ("Tier2", (61, 120)), "Tier4": ("Tier3", (121, 5000)) } tSubscriptionTierGrades = TierContainer.GetVipTierInfo() tSortedKeys = sorted(tSubscriptionTierGrades.keys()) #logging.debug("Tiers: " + str(tSortedKeys)) for tier in tSortedKeys: #establish parameters for vips that need upgrading tMinDays = tSubscriptionTierGrades[tier][1][0] tMaxDays = tSubscriptionTierGrades[tier][1][1] tOldTier = tSubscriptionTierGrades[tier][0] #logging.debug("Old Tier: " + str(tOldTier)) #logging.debug("Min Days: " + str(tMinDays)) #logging.debug("New Tier: " + str(tier)) #logging.debug("Max Days: " + str(tMaxDays)) tMinDaysAgo = TimeHelperMethods.DaysAgo(tMinDays) tMaxDaysAgo = TimeHelperMethods.DaysAgo(tMaxDays) #logging.debug("Min Days Ago: " + str(tMinDaysAgo)) #logging.debug("Max Days Ago: " + str(tMaxDaysAgo)) tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionStart <=", tMinDaysAgo) tVipSubQuery.filter("subscriptionStart >=", tMaxDaysAgo) tVipSubQuery.filter("subscriptionIsActive", True) tVipSubQuery.filter("subscriptionAutoState", tOldTier) tVipList = tVipSubQuery.fetch(limit=100) #logging.debug("Vip List: " + str(tVipList)) #these are vips that need to be auto-updated if(tVipList != None and len(tVipList) > 0): for tVip in tVipList: if (tVip.subscriptionAutoState == tVip.subscriptionManualState and tVip.subscriptionManualState != 'Tier0'): if (tVip.subscriptionNeedsUpgrade != False): tVip.subscriptionNeedsUpgrade = False tVip.put() else: tVip.subscriptionAutoState = tier tVip.subscriptionNeedsUpgrade = True tVip.put()
def GetContext(self): tVip = VipSubscription() tVipQuery = VipSubscription.all() tVipQuery.filter("subscriptionAutoState", "Tier0") tVips = tVipQuery.fetch(limit = 300) for tVip in tVips: tVip.subscriptionAutoState = "Tier0" tVip.put() return {}
def GetContext(self): tVip = VipSubscription() tVipQuery = VipSubscription.all() tVipQuery.filter("subscriptionAutoState", "Tier0") tVips = tVipQuery.fetch(limit=300) for tVip in tVips: tVip.subscriptionAutoState = "Tier0" tVip.put() return {}
def ProcessSubscription(self, pArgumentDic): tVipSubscriber = VipSubscriber() tVipSub = VipSubscription() tVipPayment = VipPayment() tLogList = [] tOwnerEmail = pArgumentDic['payer_email'] tOwnerId = pArgumentDic['payer_id'] tVipSubscriber = VipSubscriber.GetSubscriberByIdAndEmail( tOwnerId, tOwnerEmail) tVipSubs = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId) if (tVipSubs != None and len(tVipSubs) > 0): tVipSub = tVipSubs[0] tVipSub.subscriptionIsActive = True tLogList = tVipSub.subscriptionLog tLogList.append("Paid: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic['txn_id']) tVipSub.subscriptionLog = tLogList else: tVipSub.subscriptionAutoState = "Tier0" tVipSub.subscriptionId = pArgumentDic['subscr_id'] tLogList = tVipSub.subscriptionLog tLogList.append("Started: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic['txn_id']) tVipSub.subscriptionLog = tLogList tVipSub.subscriptionNeedsUpgrade = True tVipSub.subscriptionOwner = tOwnerId tVipSub.subscriptionIsActive = True tSubKey = str(tVipSub.put()) tVipSubscriber.subscriberHasActiveSubscription = True tVipSubscriber.subscriberActiveSubscription = tSubKey tSubList = [] tSubList = tVipSubscriber.subscriberSubscriptions tSubList.append(tSubKey) tVipSubscriber.put() if ('payment_gross' in pArgumentDic.keys()): tVipPayment.paymentAmount = pArgumentDic['payment_gross'] tVipPayment.paymentEmail = tOwnerEmail tVipPayment.paymentPaypalId = tOwnerId tVipPayment.put()
def ProcessSubscription(self, pArgumentDic): tVipSubscriber = VipSubscriber() tVipSub = VipSubscription() tVipPayment = VipPayment() tLogList = [] tOwnerEmail = pArgumentDic["payer_email"] tOwnerId = pArgumentDic["payer_id"] tVipSubscriber = VipSubscriber.GetSubscriberByIdAndEmail(tOwnerId, tOwnerEmail) tVipSubs = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId) if tVipSubs != None and len(tVipSubs) > 0: tVipSub = tVipSubs[0] tVipSub.subscriptionIsActive = True tLogList = tVipSub.subscriptionLog tLogList.append("Paid: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic["txn_id"]) tVipSub.subscriptionLog = tLogList else: tVipSub.subscriptionAutoState = "Tier0" tVipSub.subscriptionId = pArgumentDic["subscr_id"] tLogList = tVipSub.subscriptionLog tLogList.append( "Started: " + str(datetime.datetime.now()) + " with transaction id " + pArgumentDic["txn_id"] ) tVipSub.subscriptionLog = tLogList tVipSub.subscriptionNeedsUpgrade = True tVipSub.subscriptionOwner = tOwnerId tVipSub.subscriptionIsActive = True tSubKey = str(tVipSub.put()) tVipSubscriber.subscriberHasActiveSubscription = True tVipSubscriber.subscriberActiveSubscription = tSubKey tSubList = [] tSubList = tVipSubscriber.subscriberSubscriptions tSubList.append(tSubKey) tVipSubscriber.put() if "payment_gross" in pArgumentDic.keys(): tVipPayment.paymentAmount = pArgumentDic["payment_gross"] tVipPayment.paymentEmail = tOwnerEmail tVipPayment.paymentPaypalId = tOwnerId tVipPayment.put()