def act(self, **kwargs): gname = kwargs.get('game') if not gname: raise ActionFailed("No game name specified.", EINVAL) if gname not in games: raise ActionFailed("No such game '%s'." % (gname,), ENOENT) game = games[gname] pname = kwargs.get('player') if not pname: raise ActionFailed("No player name specified.", EINVAL) if pname not in game.players: raise ActionFailed("There is no player named '%s'." % (pname,), ENOENT) year = kwargs.get('year') if not year: raise ActionFailed("No year specified.", EINVAL) day = kwargs.get('day') if not day: raise ActionFailed("No day specified.", EINVAL) cname = kwargs.get('contract') if not cname: raise ActionFailed("No contract specified.", EINVAL) try: tier = int(kwargs.get('tier', 0)) except ValueError: raise ActionFailed("Bad 'tier' value '%s'." % (kwargs['tier'],), EINVAL) game.complete(cname, pname, ris.Date(int(year), int(day)), tier=tier) game.save() return '/result' + self.query_string(game=gname, contract=cname, json=kwargs.get('json'))
def act(self, **kwargs): gname = kwargs.get('game') if not gname: raise ActionFailed("No game name specified.", EINVAL) if gname not in games: raise ActionFailed("No such game '%s'." % (gname,), ENOENT) game = games[gname] pname = kwargs.get('player') if not pname: raise ActionFailed("No player name specified.", EINVAL) if pname not in game.players: raise ActionFailed("There is no player named '%s'." % (pname,), ENOENT) year = kwargs.get('year') if not year: raise ActionFailed("No year specified.", EINVAL) day = kwargs.get('day') if not day: raise ActionFailed("No day specified.", EINVAL) try: kia = int(kwargs.get('kia', 0)) except ValueError: raise ActionFailed("Bad 'kia' value '%s'." % (kwargs['kia'],), EINVAL) game.sync(pname, ris.Date(int(year), int(day)), kia=kia) game.save() return '/game' + self.query_string(name=gname, json=kwargs.get('json'))