def count_points_user(the_bot,user): print("user: "******"user_id", user_id) points = PointsGiven.select(PointsGiven.point,PointsGiven.user_who_received_point).where(PointsGiven.user_who_received_point == user_id ) sq = PointsGiven.select() tweetspositive = sq.where((PointsGiven.user_who_received_point == user_id ) & (PointsGiven.point == 1) ) tweetsanswer = sq.where((PointsGiven.user_who_received_point == user_id ) & (PointsGiven.point == 2) ) answer_points = (tweetsanswer.count())* 2 tweetsnegative = sq.where((PointsGiven.user_who_received_point == user_id ) & (PointsGiven.point == -1) ) quarterpoint = sq.where((PointsGiven.user_who_received_point == user_id ) & (PointsGiven.point == -0.25) ) quarterpoint = (quarterpoint.count())*0.25 totalpoints = (tweetspositive.count() + answer_points ) - (tweetsnegative.count()) - quarterpoint print("total points: ", totalpoints) return totalpoints
def get_leaderboard(): users = [] leaderboard = {} Point = PointsGiven.select(PointsGiven.user_who_received_point).distinct() for u in Point: users.append( u.user_who_received_point.user_id) print("user who received the point: ", u.user_who_received_point.user_id) for item in users: print("user:"******"count pos is: ",tweetspositive.count()) print("user is:", item) tweetsanswer = sq.where((PointsGiven.user_who_received_point == item ) & (PointsGiven.point == 2) ) answer_points = (tweetsanswer.count())* 2 print("count answ is: ",answer_points) print("user is:", item) tweetsnegative = sq.where((PointsGiven.user_who_received_point == item) & (PointsGiven.point == -1) ) print("count neg is: ",tweetsnegative.count()) print("user is:", item) quarterpoint = sq.where((PointsGiven.user_who_received_point == item ) & (PointsGiven.point == -0.25) ) quarterpoint = (quarterpoint.count())*0.25 print("quarter is: ",) print("user is:", item) totalpoints = (tweetspositive.count() + answer_points ) - (tweetsnegative.count()) - quarterpoint leaderboard[item] = totalpoints sorted_dic = [(k,v) for v,k in sorted( [(v,k) for k,v in leaderboard.items()],reverse=True ) ] return sorted_dic