def with_game(f):
@wraps(f)
def decorator(token, *args, **kwargs):
from game import Game
try:
game = Game.load_game(token)
except errors.GameNotStartedError as exc:
data = {
'type': consts.TYPES[exc.type]['name'],
'limit': exc.limit,
}
if (exc.token):
data['invite'] = exc.token
return send_data(data)
except errors.GameNotFoundError as exc:
return send_error(exc.message)
if game._loaded_by == consts.WHITE:
if game.model.player_white is not None and game.model.player_white != request.user:
return send_error('wrong user')
else:
if game.model.player_black is not None and game.model.player_black != request.user:
return send_error('wrong user')
return f(game, *args, **kwargs)
return decorator
评论列表
文章目录