def retrieveIndividualBadge(self): result = {} try: varmyjson = {"Day": "Today"} myjson = {"Fname": "Dummy", "Lname": "Dummy", "Username": self.intermediary_id} obj = RetrieveIntermediary(myjson) res = obj.isAssignedBeneficiary() beneficiary_tuple = json.loads(res) b_id = beneficiary_tuple["Id"] if b_id == None: raise ValueError("This individual is not assigned a beneficiary") clickPointsObj = RetrievePoints(varmyjson, self.intermediary_id, 1) resclickpoints = clickPointsObj.retrieveIntermediaryClickPoints() resclickpoints = json.loads(resclickpoints) clickpoints = int(resclickpoints["points"] / resclickpoints["dates_counter"]) if clickpoints > 60: clickpoints = 60 ressteps = clickPointsObj.getSteps(b_id) ressteps = json.loads(ressteps) stepspoints = int(ressteps["steps"] / (100 * ressteps["dates_counter"])) if stepspoints > 100: stepspoints = 100 badges_urls = [] if stepspoints >= 100: if clickpoints >= 6: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/queen.jpeg") else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg") elif stepspoints >= 90: if clickpoints >= 12: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg") else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg") elif stepspoints >= 80: if clickpoints >= 18: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg") else: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg" ) elif stepspoints >= 70: if clickpoints >= 24: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg" ) else: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg" ) elif stepspoints >= 60: if clickpoints >= 30: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg" ) else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg") elif stepspoints >= 45: if clickpoints >= 36: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg") else: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg" ) if stepspoints >= 30: if clickpoints >= 42: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg" ) else: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg" ) elif stepspoints >= 20: if clickpoints >= 48: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg" ) else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg") if stepspoints >= 10: if clickpoints >= 54: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg") else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg") else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg") num = randint(2, 49) obj = RetrieveSound(num) res = obj.retrieveSoundUrl() res = json.loads(res) sound_url = res["url"] result = {"R00": {"D0": "Badge Acquired", "D1": badges_urls[0], "D2": sound_url}} except Exception as e: message = "An exception was thrown in function retrieveIndividualScore(): %s" % e result = { "R00": { "D0": message, "D1": "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/nobadge.jpeg", "D2": "Error", } } return json.JSONEncoder().encode(result)
def retrieveIndividualBadge(self): result={} try: varmyjson={'Day':"Today"} myjson={'Fname':'Dummy','Lname':'Dummy','Username':self.intermediary_id} obj=RetrieveIntermediary(myjson) res=obj.isAssignedBeneficiary() beneficiary_tuple=json.loads(res) b_id=beneficiary_tuple["Id"] if b_id==None : raise ValueError('This individual is not assigned a beneficiary') clickPointsObj=RetrievePoints(varmyjson,self.intermediary_id,1) resclickpoints=clickPointsObj.retrieveIntermediaryClickPoints() resclickpoints=json.loads(resclickpoints) #clickpoints=int(resclickpoints["points"]/resclickpoints["dates_counter"]) clickpoints=int(resclickpoints["points"]) if clickpoints>18: clickpoints=18 ressteps=clickPointsObj.getSteps(b_id) ressteps=json.loads(ressteps) #stepspoints=int(ressteps["steps"]/(100*ressteps["dates_counter"])) stepspoints=int(ressteps["steps"]) if stepspoints>70000: stepspoints=70000 badges_urls=[] if stepspoints>=70000: if clickpoints>=18: badges.append("Queen") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/queen.jpeg") else: badges.append("No promotion") elif stepspoints>=63000: if clickpoints>=16: badges.append("Princess") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg") elif stepspoints>=56000: if clickpoints>=14: badges.append("Duchess") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg") elif stepspoints>=49000: if clickpoints>=12: badges.append("Grand Master") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg") elif stepspoints>=42000: if clickpoints>=10: badges.append("Senior Master") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg") elif stepspoints>=31500: if clickpoints>=8: badges.append("Master") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg") if stepspoints>=21000: if clickpoints>=4: badges.append("Junior Master") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg") elif stepspoints>=14000: if clickpoints>=2: badges.append("Senior Servant") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg") else: badges.append("No Promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg") if stepspoints>=7000: if clickpoints>=1: badges.append("Servant") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg") else: badges.append("No promotion") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg") else: badges.append("Slave") badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg") num=randint(2,49) obj=RetrieveSound(num) res=obj.retrieveSoundUrl() res=json.loads(res) sound_url=res["url"] result={"R00":{"D0":"Badge Acquired","D1":badges_urls[0],"D2":sound_url}} except Exception as e: message="An exception was thrown in function retrieveIndividualScore(): %s"%e result={"R00":{"D0":message,"D1":"http://ict4d01.cs.uct.ac.za/static/django_facebook/images/nobadge.jpeg","D2":"Error"}} session.close() engine.dispose() dbconn.close() return (json.JSONEncoder().encode(result))
def retrieveIndividualBadge(self): result = {} try: varmyjson = {'Day': "Today"} myjson = { 'Fname': 'Dummy', 'Lname': 'Dummy', 'Username': self.intermediary_id } obj = RetrieveIntermediary(myjson) res = obj.isAssignedBeneficiary() beneficiary_tuple = json.loads(res) b_id = beneficiary_tuple["Id"] if b_id == None: raise ValueError( 'This individual is not assigned a beneficiary') clickPointsObj = RetrievePoints(varmyjson, self.intermediary_id, 1) resclickpoints = clickPointsObj.retrieveIntermediaryClickPoints() resclickpoints = json.loads(resclickpoints) clickpoints = int(resclickpoints["points"]) ressteps = clickPointsObj.getSteps(b_id) ressteps = json.loads(ressteps) stepspoints = int(ressteps["steps"] / ressteps["dates_counter"]) badges_urls = [] engine = db #create a Session Session = sessionmaker(bind=engine) session = Session() res2 = session.query(AttainedUserBadges, Badges).filter( AttainedUserBadges.intermediary_id == self.intermediary_id ).filter(AttainedUserBadges.status == 1).filter( AttainedUserBadges.badge_id == Badges.rank).first() if res is None: rank = 11 badge = "No Badge" else: attainedres, badgeres = res2 rank = badgeres.rank #get the current rank badge = badgeres.badgename if rank == 1: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/queen.jpeg" ) elif rank == 2: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg" ) elif rank == 3: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg" ) elif rank == 4: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg" ) elif rank == 5: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg" ) elif rank == 6: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg" ) elif rank == 7: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg" ) elif rank == 8: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg" ) elif rank == 9: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg" ) elif rank == 10: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg" ) else: badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/default.jpeg" ) num = randint(2, 49) obj = RetrieveSound(num) res = obj.retrieveSoundUrl() res = json.loads(res) sound_url = res["url"] result = { "R00": { "D0": "Badge Acquired", "D1": badges_urls[0], "D2": sound_url, "D3": badge, "D4": rank } } except Exception as e: print e message = "An exception was thrown in function retrieveIndividualScore(): %s" % e result = { "R00": { "D0": message, "D1": "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/default.jpeg", "D2": "Error", "D3": e, "D4": 11 } } return (json.JSONEncoder().encode(result))
def retrieveIndividualBadge(self): result = {} try: varmyjson = {'Day': "Today"} myjson = { 'Fname': 'Dummy', 'Lname': 'Dummy', 'Username': self.intermediary_id } obj = RetrieveIntermediary(myjson) res = obj.isAssignedBeneficiary() beneficiary_tuple = json.loads(res) b_id = beneficiary_tuple["Id"] if b_id == None: raise ValueError( 'This individual is not assigned a beneficiary') clickPointsObj = RetrievePoints(varmyjson, self.intermediary_id, 1) resclickpoints = clickPointsObj.retrieveIntermediaryClickPoints() resclickpoints = json.loads(resclickpoints) #clickpoints=int(resclickpoints["points"]/resclickpoints["dates_counter"]) clickpoints = int(resclickpoints["points"]) if clickpoints > 18: clickpoints = 18 ressteps = clickPointsObj.getSteps(b_id) ressteps = json.loads(ressteps) #stepspoints=int(ressteps["steps"]/(100*ressteps["dates_counter"])) stepspoints = int(ressteps["steps"]) if stepspoints > 70000: stepspoints = 70000 badges_urls = [] if stepspoints >= 70000: if clickpoints >= 18: badges.append("Queen") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/queen.jpeg" ) else: badges.append("No promotion") elif stepspoints >= 63000: if clickpoints >= 16: badges.append("Princess") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg" ) elif stepspoints >= 56000: if clickpoints >= 14: badges.append("Duchess") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg" ) elif stepspoints >= 49000: if clickpoints >= 12: badges.append("Grand Master") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg" ) elif stepspoints >= 42000: if clickpoints >= 10: badges.append("Senior Master") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg" ) elif stepspoints >= 31500: if clickpoints >= 8: badges.append("Master") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg" ) if stepspoints >= 21000: if clickpoints >= 4: badges.append("Junior Master") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg" ) elif stepspoints >= 14000: if clickpoints >= 2: badges.append("Senior Servant") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg" ) else: badges.append("No Promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg" ) if stepspoints >= 7000: if clickpoints >= 1: badges.append("Servant") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg" ) else: badges.append("No promotion") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg" ) else: badges.append("Slave") badges_urls.append( "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg" ) num = randint(2, 49) obj = RetrieveSound(num) res = obj.retrieveSoundUrl() res = json.loads(res) sound_url = res["url"] result = { "R00": { "D0": "Badge Acquired", "D1": badges_urls[0], "D2": sound_url } } except Exception as e: message = "An exception was thrown in function retrieveIndividualScore(): %s" % e result = { "R00": { "D0": message, "D1": "http://ict4d01.cs.uct.ac.za/static/django_facebook/images/nobadge.jpeg", "D2": "Error" } } session.close() engine.dispose() dbconn.close() return (json.JSONEncoder().encode(result))
def retrieveIndividualBadge(self): result={} try: varmyjson={'Day':"Today"} myjson={'Fname':'Dummy','Lname':'Dummy','Username':self.intermediary_id} obj=RetrieveIntermediary(myjson) res=obj.isAssignedBeneficiary() beneficiary_tuple=json.loads(res) b_id=beneficiary_tuple["Id"] if b_id==None : raise ValueError('This individual is not assigned a beneficiary') clickPointsObj=RetrievePoints(varmyjson,self.intermediary_id,1) resclickpoints=clickPointsObj.retrieveIntermediaryClickPoints() resclickpoints=json.loads(resclickpoints) clickpoints=int(resclickpoints["points"]) ressteps=clickPointsObj.getSteps(b_id) ressteps=json.loads(ressteps) stepspoints=int(ressteps["steps"]/ressteps["dates_counter"]) badges_urls=[] engine=db #create a Session Session = sessionmaker(bind=engine) session = Session() res2=session.query(AttainedUserBadges,Badges).filter(AttainedUserBadges.intermediary_id==self.intermediary_id).filter(AttainedUserBadges.status==1).filter(AttainedUserBadges.badge_id==Badges.rank).first() if res is None: rank=11 badge="No Badge" else: attainedres,badgeres=res2 rank=badgeres.rank#get the current rank badge=badgeres.badgename if rank==1: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/queen.jpeg") elif rank==2: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/princess.jpeg") elif rank==3: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/duchess.jpeg") elif rank==4: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/grandmaster.jpeg") elif rank==5: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniormaster.jpeg") elif rank==6: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/master.jpeg") elif rank==7: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/juniormaster.jpeg") elif rank==8: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/seniorservant.jpeg") elif rank==9: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/servant.jpeg") elif rank==10: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/slave.jpeg") else: badges_urls.append("http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/default.jpeg") num=randint(2,49) obj=RetrieveSound(num) res=obj.retrieveSoundUrl() res=json.loads(res) sound_url=res["url"] result={"R00":{"D0":"Badge Acquired","D1":badges_urls[0],"D2":sound_url,"D3":badge,"D4":rank}} except Exception as e: print e message="An exception was thrown in function retrieveIndividualScore(): %s"%e result={"R00":{"D0":message,"D1":"http://ict4d01.cs.uct.ac.za/static/django_facebook/images/badges/default.jpeg","D2":"Error","D3":e,"D4":11}} return (json.JSONEncoder().encode(result))