def get_high_scores(self, request): """Returns a list of the high scores""" limit = request.number_of_results if limit and limit < 0: raise endpoints.BadRequestException( "Please request a positive number of results") if limit and limit > 0: scores = Score.query().order(-Score.score).fetch(limit=limit) else: scores = Score.query().order(-Score.score) return ScoreTable(items=[score.to_form() for score in scores])
def get_user_scores(self, request): """Returns the users top 5 scores""" user = User.query(User.user_name == request.user_name).get() if not user: raise endpoints.NotFoundException("That user doesn't exist") scores = Score.query(user.key == Score.user_name).order(-Score.score) return ScoreTable(items=[score.to_form() for score in scores])
def get(self): evaluator = checkauth(self.request.headers.get('Authorization')) if evaluator is None: self.response.set_status(401) return scores = Score.query(Score.evaluator == evaluator.key) data = json.dumps([s.to_dict() for s in scores]) self.response.write(data)
def put(self, presenter_key): presenter_key = ndb.Key(Presenter, int(presenter_key)) evaluator = checkauth(self.request.headers.get('Authorization')) if evaluator is None: self.response.set_status(401) return data = json.loads(self.request.body) score = Score.query(Score.evaluator == evaluator.key, Score.presenter == presenter_key).get() if score is None: score = Score() score.evaluator = evaluator.key score.presenter = presenter_key score.score1 = int(data.get('score1')) score.score2 = int(data.get('score2')) score.score3 = int(data.get('score3')) score.comment = data.get('comment') score.put() self.response.write(json.dumps(score.to_dict()))
def get(self): scores = Score.query() data = [s.to_dict() for s in scores] self.response.write(json.dumps(data))