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 {}
예제 #5
0
    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()
예제 #6
0
    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()