Beispiel #1
0
 def post(self):
     data = flask.request.get_json()
     points = controllers.submit_answer(data['cid'], data['answer'])
     models.commit()
     cache.delete_team('cats/%d')
     cache.delete('scoreboard')
     return dict(points=points)
 def post(self):
     data = flask.request.get_json()
     points = controllers.submit_answer(data['cid'], data['answer'])
     models.commit()
     cache.delete_team('cats/%d')
     cache.delete('scoreboard')
     return dict(points=points)
Beispiel #3
0
 def post(self):
     """Unlock a hint."""
     data = flask.request.get_json()
     hint = controllers.unlock_hint(data['hid'])
     app.logger.info('Hint %s unlocked by %r.', hint, models.User.current())
     models.commit()
     cache.delete_team('cats/%d')
     return hint
 def post(self):
     """Unlock a hint."""
     data = flask.request.get_json()
     hint = controllers.unlock_hint(data['hid'])
     app.logger.info('Hint %s unlocked by %r.', hint, models.User.current())
     models.commit()
     cache.delete_team('cats/%d')
     return hint
Beispiel #5
0
 def put(self, team_id):
     team = models.Team.query.get_or_404(team_id)
     app.logger.info('Update of team %r by %r.', team, models.User.current())
     data = flask.request.get_json()
     # Writable fields
     for field in ('name', 'score'):
         setattr(team, field, data.get(field, getattr(team, field)))
     models.commit()
     cache.delete_team('team/%d')
     return self._marshal_team(team)
Beispiel #6
0
 def put(self, team_id):
     team = models.Team.query.get_or_404(team_id)
     app.logger.info('Update of team %r by %r.', team, models.User.current())
     data = flask.request.get_json()
     # Writable fields
     for field in ('name', 'score'):
         setattr(team, field, data.get(field, getattr(team, field)))
     models.commit()
     cache.delete_team('team/%d')
     return self._marshal_team(team)
Beispiel #7
0
 def post_player(self, data):
     answer = utils.normalize_input(data['answer'])
     try:
         points = controllers.submit_answer(data['cid'], answer,
                                            data.get('token'))
     except (errors.IntegrityError, errors.FlushError):
         models.db.session.rollback()
         raise errors.AccessDeniedError(
             'Previously solved or flag already used.')
     cache.delete_team('cats/%d')
     cache.delete('scoreboard')
     return dict(points=points)
Beispiel #8
0
 def post(self):
     data = flask.request.get_json()
     answer = utils.normalize_input(data['answer'])
     points = controllers.submit_answer(data['cid'], answer)
     try:
         models.commit()
     except (errors.IntegrityError, errors.FlushError):
         models.db.session.rollback()
         raise errors.AccessDeniedError("You've already solved that one!")
     cache.delete_team('cats/%d')
     cache.delete('scoreboard')
     return dict(points=points)
Beispiel #9
0
 def post_player(self, data):
     answer = utils.normalize_input(data['answer'])
     try:
         points = controllers.submit_answer(
             data['cid'], answer, data.get('token'))
     except errors.IntegrityError:
         raise errors.AccessDeniedError(
                 'Previously solved or flag already used.')
     try:
         models.commit()
     except (errors.IntegrityError, errors.FlushError):
         models.db.session.rollback()
         raise errors.AccessDeniedError("You've already solved that one!")
     cache.delete_team('cats/%d')
     cache.delete('scoreboard')
     return dict(points=points)