from flask import Flask, render_template, request, redirect, session, flash, url_for
class Jogo:
def __init__(self, nome, categoria, console):
self.nome = nome
self.categoria = categoria
self.console = console
class Usuario:
def __init__(self, nome, nick, senha):
self.nome = nome
self.nick = nick
self.senha = senha
usuario1 = Usuario("Bruno Divino", "BD", "alohomora")
usuario2 = Usuario("Henrique Valente", "HV", "hipopotamo")
usuario3 = Usuario("Kratos", "Kratos", "zeus")
usuarios = {usuario1.nick: usuario1, usuario2.nick: usuario2, usuario3.nick: usuario3}
app = Flask(__name__)
app.secret_key = "Alura"
jogo1 = Jogo("Tetris", "Puzzle", "Atari")
jogo2 = Jogo("God of War", "Hack n Slash", "PS2")
jogo3 = Jogo("Mortal Kombat", "Luta", "PS2")
lista = [jogo1, jogo2, jogo3]
@app.route("/")
def index():
return render_template("lista.html", titulo="Jogos", jogos=lista)
@app.route("/inicio")
def ola():
return render_template("lista.html", titulo="Jogos", jogos=lista)
@app.route("/novo")
def novo():
if "usuario_logado" not in session or (session["usuario_logado"] is None):
return redirect(url_for("login", proxima=url_for("novo")))
return render_template("novo.html", titulo="Novo Jogo")
@app.route("/criar", methods=["POST", ])
def criar():
nome = request.form["nome"]
categoria = request.form["categoria"]
console = request.form["console"]
jogo = Jogo(nome, categoria, console)
lista.append(jogo)
return redirect(url_for("index"))
@app.route("/login")
def login():
proxima = request.args.get("proxima")
return render_template("login.html", proxima=proxima)
@app.route("/autenticar", methods=["POST", ])
def autenticar():
if request.form["usuario"] in usuarios:
usuario = usuarios[request.form['usuario']]
if request.form['senha'] == usuario.senha:
session['usuario_logado'] = usuario.nick
flash(usuario.nick + ' logado com sucesso!')
proxima_pagina = request.form['proxima']
return redirect(proxima_pagina)
else:
flash("Senha incorreta")
return redirect(url_for("login"))
else:
flash("Usuario não logado")
return redirect(url_for("login"))
@app.route("/logout")
def logout():
session["usuario_logado"] = None
flash("Logout efetuado com sucesso!")
return redirect(url_for("index"))
app.run(debug=True)