def post(self, gid): game = Game.get_by_id(gid) if not game: return pid = self.request.get('player_id') act = self.request.get('action') val = self.request.get('value') if pid: player = Player.get_by_id(pid) if player: player.do_action(game, act, val)
def get(self, gid): game = Game.get_by_id(gid) pid = self.request.get('player_id') if not pid: return player = Player.get_by_id(pid) if not player: return self.response.headers['Content/Type'] = 'application/json' if player: self.response.out.write(json.dumps(game.gamestatus_as_dict(player)))
def post(self, gid): sub_player = json.loads(self.request.get('player')) # Make sure input is valid keys = ('name', 'id', 'tokens') if not all(key in sub_player for key in keys): self.senderror() return # Check if the game exists this_game = Game.get_by_id(gid) if not this_game: self.senderror() return # Check if player ID is taken player = Player.get_by_id(sub_player['id']) if player: self.senderror() return # Store the new player in the datastore new_player = Player(id=sub_player['id'], name = sub_player['name'], tokens = int(sub_player['tokens']), a_url = sub_player['avatar_url'], cards_vis = sub_player['cards_visible'], cards_inv = sub_player['cards_not_visible'], sync = 4) pkey = new_player.put() if not pkey: self.senderror() return this_game.p_cur += 1 this_game.players.append(pkey) this_game.put() # Send response self.response.headers['Content/Type'] = 'text/plain' self.response.out.write('ok')
def _get_attacker(self): self.attacker = Player.get_by_id(self.message.From) log.debug("Action Builder Attacker: %s)".format(self.attacker.realname))