예제 #1
0
 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'))
예제 #2
0
 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'))