Example #1
0
    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)
Example #2
0
    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))
Example #3
0
    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))
Example #4
0
    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))
Example #5
0
    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))