Ejemplo n.º 1
0
 def _marshal_team(self, team, extended=False):
     result = {}
     for k in self.team_fields:
         result[k] = getattr(team, k)
     if extended:
         challenges = []
         for answer in team.answers:
             challenges.append({
                 'solved': answer.timestamp,
                 'points': answer.challenge.points,
                 'name': answer.challenge.name,
                 'cid': answer.challenge_cid,
                 'cat_id': answer.challenge.category.cid,
                 'cat_name': answer.challenge.category.name,
                 })
         result['solved_challenges'] = challenges
         result['score_history'] = team.score_history
     else:
         result['solved_challenges'] = []
         result['score_history'] = []
     if utils.access_team(team.tid):
         result['players'] = list(team.players.all())
     else:
         result['players'] = []
     return result
Ejemplo n.º 2
0
 def put(self, team_id):
     if not utils.access_team(team_id):
         raise errors.AccessDeniedError('No access to that team.')
     team = models.Team.query.get_or_404(team_id)
     data = flask.request.get_json()
     # Writable fields
     for field in ('name', 'score'):
         setattr(team, field, data.get(field, getattr(team, field)))
     models.commit()
     return self._marshal_team(team)
Ejemplo n.º 3
0
 def put(self, team_id):
     if not utils.access_team(team_id):
         raise errors.AccessDeniedError('No access to that team.')
     team = models.Team.query.get_or_404(team_id)
     data = flask.request.get_json()
     # Writable fields
     for field in ('name', 'score'):
         setattr(team, field, data.get(field, getattr(team, field)))
     models.commit()
     return self._marshal_team(team)
Ejemplo n.º 4
0
 def get(self, team_id):
     if not utils.access_team(team_id):
         raise errors.AccessDeniedError('No access to that team.')
     team = models.Team.query.get_or_404(team_id)
     return self._marshal_team(team)
Ejemplo n.º 5
0
 def get(self, team_id):
     if not utils.access_team(team_id):
         raise errors.AccessDeniedError('No access to that team.')
     team = models.Team.query.get_or_404(team_id)
     return self._marshal_team(team)