def index(resulte=None): game_played = Games.select().order_by(Games.game_id.desc()).count() query = Users.select( Users.user_name, peewee.fn.COUNT(Users.user_name).alias('total_points')).join( Games).join(GameResulte).group_by(Users.user_name).order_by( peewee.fn.COUNT(Users.user_name).desc()).limit(3) top_players = [] try: for user in query: top_players += [{ 'name': user.user_name, "total_points": user.total_points }] except peewee.ProgrammingError as err: print(err) if 'resulte' in session: resulte = str(session['resulte']) session.pop('resulte', None) return render_template('index.j2', game_played=game_played, top_players=top_players, resulte=resulte) return render_template('index.j2', game_played=game_played, top_players=top_players)
def answer(): if request.method == 'GET': return render_template('game.j2') if 'game_id' not in session and 'user_name' in session: filde = {'user_name': session['user_name']} game_play = Games(**filde) game_play.save() game_id = Games.select().order_by(Games.game_id.desc()).get() game_id = model_to_dict(game_id)['game_id'] session['game_id'] = game_id answer = str(request.form['answer']) if 'riddle' in session: if answer.lower() == session['riddle']['answer'].lower(): fields = { 'game_result': True, 'riddle': session['riddle']['id'], 'game': session['game_id'] } GameResulte(**fields).save() session.pop('riddle', None) return redirect(url_for('game')) else: resulte = 0 resulte = GameResulte.select().where( GameResulte.game == session['game_id']).count() if not resulte: resulte = 'game over' session.pop('game_id', None) session.pop('riddle', None) session['resulte'] = resulte return redirect(url_for('index')) return render_template('game.j2')