def get(self): #logging.debug("===== VIP Upgrade Script 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: #logging.debug("Tier: " + str(tier)) tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionAutoState", tier) tVipSubQuery.filter("subscriptionManualState", tier) tVipSubQuery.filter("subscriptionNeedsUpgrade", True) tVipList = tVipSubQuery.fetch(limit=100) #logging.debug("Vip List: " + str(tVipList)) for tVipSub in tVipList: tVipSub.subscriptionNeedsUpgrade = False tVipSub.put()
def GetVips(tier): tVip = VipSubscription() tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionNeedsCancel", True) tVipSubQuery.filter("subscriptionAutoState", tier) tVipSubQuery.order("subscriptionEnd") tTierVips = tVipSubQuery.fetch(limit=100) tDic = {tier: tTierVips} return tDic
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 GetVips(tier): tVip = VipSubscription() tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionIsActive", True) tVipSubQuery.filter("subscriptionAutoState", tier) tVipSubQuery.filter("subscriptionNeedsUpgrade", True) tVipSubQuery.order("subscriptionStart") tTierVips = tVipSubQuery.fetch(limit=100) tDic = {tier: tTierVips} return tDic
def GetVips(tier): tVip = VipSubscription() tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionIsActive", True) tVipSubQuery.filter("subscriptionManualState", tier) tVipSubQuery.order("subscriptionStart") tTierVips = tVipSubQuery.fetch(limit=500) #logging.debug("Tier " + tier + " vips") #logging.debug(str(tTierVips)) tDic = {tier: tTierVips} return tDic
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 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 PostContext(self): tResponse = {} tResponse['tResponseText'] = "" tPaypal = VipCancelPaypalAjax() tResultDictionary = {} tPaypalPayload = {} tPayload = {} pSubscriptionKey = str(self.request.get('key')) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse['tResponseText'] = "Not Found" return tResponse
def PostContext(self): tResponse = {} tResponse['tResponseText'] = "" tPaypal = VipCancelPaypalAjax() tResultDictionary = {} tPaypalPayload = {} tPayload = {} pSubscriptionKey = str(self.request.get('key')) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse['tResponseText'] = "Not Found" return tResponse #logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner) if (tSubscription): tPaypalPayload['METHOD'] = "ManageRecurringPaymentsProfileStatus" tPaypalPayload['PROFILEID'] = str(tSubscription.subscriptionId) tPaypalPayload['ACTION'] = 'Cancel' tPayloadEncoded = tPaypal.GeneratePayload(tPaypalPayload) request_cookies = mechanize.CookieJar() request_opener = mechanize.build_opener(mechanize.HTTPCookieProcessor(request_cookies)) request_opener.addheaders = [('Content-Type', 'application/x-www-form-urlencoded')] mechanize.install_opener(request_opener) tResponse = mechanize.urlopen(url = tUrl, timeout = 25.0, data = tPayloadEncoded) tResult = str(urllib.unquote(tResponse.read())) #logging.debug("Mechanize Package") #logging.debug("Url: " + tUrl) #logging.debug("Data: " + str(tPaypalPayload)) #logging.debug("Response: " + tResult) tResultSplit = tResult.split('&') for tPair in tResultSplit: tSplitPair = tPair.split("=") tResultDictionary[tSplitPair[0]] = tSplitPair[1] tResponse['tResponseText'] = "Cancelled" tSubscription.subscriptionIsActive = False tSubscription.subscriptionEnd = datetime.datetime.now() tSubscription.subscriptionNeedsUpgrade = False tSubscription.subscriptionNeedsCancel = False tSubscription.put() tSubscriber = VipSubscriber() tSubscriber.subscriberActiveSubscription = "" tSubscriber.subscriberHasActiveSubscription = False tSubscriber.put() return tResponse
def GetContext(self): tContext = {} tDic = VipList.GetVips("Tier1") tSubList = [] tSubscription = VipSubscription() tSubscriber = VipSubscriber() for tSubscription in tDic["Tier1"]: tSubscriber = VipSubscriber.GetSubscriberById( tSubscription.subscriptionOwner) tTuple = (tSubscriber, tSubscription) #logging.debug("Subscription: " + tSubscription.subscriptionOwner) #logging.debug("Subscriber: " + tSubscriber.subscriberEmail) tSubList.append(tTuple) tDic["Tier1"] = tSubList tContext.update(tDic) tDic = VipList.GetVips("Tier2") tSubList = [] for tSubscription in tDic["Tier2"]: tSubscriber = VipSubscriber.GetSubscriberById( tSubscription.subscriptionOwner) tTuple = (tSubscriber, tSubscription) #logging.debug("Subscription: " + tSubscription.subscriptionOwner) #logging.debug("Subscriber: " + tSubscriber.subscriberEmail) tSubList.append(tTuple) tDic["Tier2"] = tSubList tContext.update(tDic) tDic = VipList.GetVips("Tier3") tSubList = [] for tSubscription in tDic["Tier3"]: tSubscriber = VipSubscriber.GetSubscriberById( tSubscription.subscriptionOwner) tTuple = (tSubscriber, tSubscription) #logging.debug("Subscription: " + tSubscription.subscriptionOwner) #logging.debug("Subscriber: " + tSubscriber.subscriberEmail) tSubList.append(tTuple) tDic["Tier3"] = tSubList tContext.update(tDic) tDic = VipList.GetVips("Tier4") tSubList = [] for tSubscription in tDic["Tier4"]: tSubscriber = VipSubscriber.GetSubscriberById( tSubscription.subscriptionOwner) tTuple = (tSubscriber, tSubscription) #logging.debug("Subscription: " + tSubscription.subscriptionOwner) #logging.debug("Subscriber: " + tSubscriber.subscriberEmail) tSubList.append(tTuple) tDic["Tier4"] = tSubList tContext.update(tDic) #logging.debug(str(tContext)) return tContext
def GetContext(self): tContext = {} tVipList = [] tVipKey = urllib.unquote(self.request.get('key')) if (tVipKey != None and len(tVipKey) > 0): tVip = VipSub.get(tVipKey) tContext['tSub'] = tVip return tContext
def GetVips(tier): tVip = VipSubscription() tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionNeedsCancel", True) tVipSubQuery.filter("subscriptionAutoState", tier) tVipSubQuery.order("subscriptionEnd") tTierVips = tVipSubQuery.fetch(limit=100) tDic = { tier : tTierVips } return tDic
def GetContext(self): tContext = {} tVipList = [] tVipKey = urllib.unquote(self.request.get('key')) if(tVipKey != None and len(tVipKey) > 0): tVip = VipSub.get(tVipKey) tContext['tSub'] = tVip return tContext
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 GetVips(tier): tVip = VipSubscription() tVipSubQuery = VipSubscription.all() tVipSubQuery.filter("subscriptionIsActive", True) tVipSubQuery.filter("subscriptionManualState", tier) tVipSubQuery.order("subscriptionStart") tTierVips = tVipSubQuery.fetch(limit=500) #logging.debug("Tier " + tier + " vips") #logging.debug(str(tTierVips)) tDic = { tier : tTierVips } return tDic
def PostContext(self): tResponse = {} tResponse["tResponseText"] = "" tPaypal = VipCancelPaypalAjax() tResultDictionary = {} tPaypalPayload = {} tPayload = {} pSubscriptionKey = str(self.request.get("key")) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse["tResponseText"] = "Not Found" return tResponse
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 ProcessSubscriptionCancellation(self, pArgumentDic): tVipSubscriber = VipSubscriber() tVipSub = VipSubscription() tVipPayment = VipPayment() tLogList = [] tOwnerEmail = pArgumentDic['payer_email'] tOwnerId = pArgumentDic['payer_id'] tVipSubList = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId) if (tVipSubList != None): if (len(tVipSubList) > 0): tVipSub = tVipSubList[0] tVipSub.subscriptionIsActive = False tVipSub.subscriptionEnd = datetime.datetime.now() tVipSub.subscriptionNeedsCancel = True tVipSub.put() tVipSubscriber.subscriberHasActiveSubscription = False tVipSubscriber.subscriberActiveSubscription = "" tVipSubscriber.put()
def post(self): tResponse = {} tResponse['tResponseText'] = "" pSubscriptionKey = str(self.request.get('key')) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse['tResponseText'] = "Not Found" return tResponse #logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner) tier = "" if (tSubscription): tSubscription.subscriptionNeedsUpgrade = False tSubscription.subscriptionNeedsCancel = False tSubscription.put() #logging.debug("Subscription Cancelled") tResponse['tResponseText'] = "Cancelled" return tResponse
def ProcessSubscriptionCancellation(self, pArgumentDic): tVipSubscriber = VipSubscriber() tVipSub = VipSubscription() tVipPayment = VipPayment() tLogList = [] tOwnerEmail = pArgumentDic["payer_email"] tOwnerId = pArgumentDic["payer_id"] tVipSubList = VipSubscription.GetActiveSubscriptionsByOwner(tOwnerId) if tVipSubList != None: if len(tVipSubList) > 0: tVipSub = tVipSubList[0] tVipSub.subscriptionIsActive = False tVipSub.subscriptionEnd = datetime.datetime.now() tVipSub.subscriptionNeedsCancel = True tVipSub.put() tVipSubscriber.subscriberHasActiveSubscription = False tVipSubscriber.subscriberActiveSubscription = "" tVipSubscriber.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()
def PostContext(self): tResponse = {} tResponse['tResponseText'] = "" tPaypal = VipCancelPaypalAjax() tResultDictionary = {} tPaypalPayload = {} tPayload = {} pSubscriptionKey = str(self.request.get('key')) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse['tResponseText'] = "Not Found" return tResponse #logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner) if (tSubscription): tPaypalPayload['METHOD'] = "ManageRecurringPaymentsProfileStatus" tPaypalPayload['PROFILEID'] = str(tSubscription.subscriptionId) tPaypalPayload['ACTION'] = 'Cancel' tPayloadEncoded = tPaypal.GeneratePayload(tPaypalPayload) request_cookies = mechanize.CookieJar() request_opener = mechanize.build_opener( mechanize.HTTPCookieProcessor(request_cookies)) request_opener.addheaders = [('Content-Type', 'application/x-www-form-urlencoded')] mechanize.install_opener(request_opener) tResponse = mechanize.urlopen(url=tUrl, timeout=25.0, data=tPayloadEncoded) tResult = str(urllib.unquote(tResponse.read())) #logging.debug("Mechanize Package") #logging.debug("Url: " + tUrl) #logging.debug("Data: " + str(tPaypalPayload)) #logging.debug("Response: " + tResult) tResultSplit = tResult.split('&') for tPair in tResultSplit: tSplitPair = tPair.split("=") tResultDictionary[tSplitPair[0]] = tSplitPair[1] tResponse['tResponseText'] = "Cancelled" tSubscription.subscriptionIsActive = False tSubscription.subscriptionEnd = datetime.datetime.now() tSubscription.subscriptionNeedsUpgrade = False tSubscription.subscriptionNeedsCancel = False tSubscription.put() tSubscriber = VipSubscriber() tSubscriber.subscriberActiveSubscription = "" tSubscriber.subscriberHasActiveSubscription = False tSubscriber.put() return tResponse
def PostContext(self): tResponse = {} tResponse['tResponseText'] = "" pSubscriptionKey = str(self.request.get('key')) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse['tResponseText'] = "Not Found" return tResponse #logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner) tier = "" if (tSubscription): #logging.debug("Manual State: " + tSubscription.subscriptionManualState) #logging.debug("Needs Upgrade: " + str(tSubscription.subscriptionNeedsUpgrade)) if (tSubscription.subscriptionManualState == "Tier0"): tSubscription.subscriptionManualState = "Tier1" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 1" tSubscription.put() elif (tSubscription.subscriptionManualState == "Tier1"): tSubscription.subscriptionManualState = "Tier2" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 2" tSubscription.put() elif (tSubscription.subscriptionManualState == "Tier2"): tSubscription.subscriptionManualState = "Tier3" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 3" tSubscription.put() elif (tSubscription.subscriptionManualState == "Tier3"): tSubscription.subscriptionManualState = "Tier4" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 4" tSubscription.put() elif (tSubscription.subscriptionManualState == "Tier4"): tSubscription.subscriptionManualState = "Tier4" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 4" tSubscription.put() elif (tSubscription.subscriptionManualState == tSubscription.subscriptionAutoState): if (tSubscription.subscriptionNeedsUpgrade == True): tSubscription.subscriptionNeedsUpgrade = False tSubscription.put() #logging.debug("Manual State: " + tSubscription.subscriptionManualState) #logging.debug("Needs Upgrade: " + str(tSubscription.subscriptionNeedsUpgrade)) #logging.debug("Subscription Saved at Tier " + tier) tResponse['tResponseText'] = "=> " + tier return tResponse
def PostContext(self): tResponse = {} tResponse["tResponseText"] = "" pSubscriptionKey = str(self.request.get("key")) tSubscription = VipSubscription() try: tSubscription = VipSubscription.get(pSubscriptionKey) except: tResponse["tResponseText"] = "Not Found" return tResponse # logging.debug("Subscription found with owner: " + tSubscription.subscriptionOwner) tier = "" if tSubscription: # logging.debug("Manual State: " + tSubscription.subscriptionManualState) # logging.debug("Needs Upgrade: " + str(tSubscription.subscriptionNeedsUpgrade)) if tSubscription.subscriptionManualState == "Tier0": tSubscription.subscriptionManualState = "Tier1" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 1" tSubscription.put() elif tSubscription.subscriptionManualState == "Tier1": tSubscription.subscriptionManualState = "Tier2" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 2" tSubscription.put() elif tSubscription.subscriptionManualState == "Tier2": tSubscription.subscriptionManualState = "Tier3" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 3" tSubscription.put() elif tSubscription.subscriptionManualState == "Tier3": tSubscription.subscriptionManualState = "Tier4" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 4" tSubscription.put() elif tSubscription.subscriptionManualState == "Tier4": tSubscription.subscriptionManualState = "Tier4" tSubscription.subscriptionNeedsUpgrade = False tier = "Tier 4" tSubscription.put() elif tSubscription.subscriptionManualState == tSubscription.subscriptionAutoState: if tSubscription.subscriptionNeedsUpgrade == True: tSubscription.subscriptionNeedsUpgrade = False tSubscription.put() # logging.debug("Manual State: " + tSubscription.subscriptionManualState) # logging.debug("Needs Upgrade: " + str(tSubscription.subscriptionNeedsUpgrade)) # logging.debug("Subscription Saved at Tier " + tier) tResponse["tResponseText"] = "=> " + tier return tResponse