def calculate_score(user): parser = Parser() scorers = [parser.vote_score, parser.speak_score] all_scores = {} total_score = 0 for member_id in user['mps']: mp_scores = [] for scorer in scorers: results = scorer(member_id) for result in results: total_score += result['score'] mp_scores.append(result) all_scores[str(member_id)] = mp_scores user['score_breakdown'] = all_scores user['score'] = total_score upsert_user(user['email'], user) return all_scores, total_score
def user(email): if request.method == 'PUT': return dumps(upsert_user(email, request.json)) else: user = get_user(email) or {} return dumps(user)