def decorated_function(*args, **kwargs): user = args[0] if app.config.get('PRESENTATION_MODE') and \ user.card_id == app.config.get('PRESENTATION_ID'): prize = Prize.get_random() Log.add(user_id=user.id, win=True, prize_id=prize.id) user.set_last_spin() abort(msg(True, prize=prize.name, prize_id=prize.id)) return f(*args, **kwargs)
def spin(user, card_id): if Log.already_played(user.id): return msg(False, msg="already played", already_played=True) user.set_last_spin() today_winned_count = Log.today_winned_count() if today_winned_count >= app.config.get('PRIZES_PER_DAY'): Log.add(user_id=user.id, win=False) return msg(False, msg="no more prizes") if win(app.config, user.get_chance_modifier(app.config), today_winned_count): prize = Prize.get_random() user.set_chance_modifier(app.config) Log.add(user_id=user.id, win=True, prize_id=prize.id) return msg(True, prize=prize.name, prize_id=prize.id) Log.add(user_id=user.id, win=False) return msg(False, msg="no win")