43 lines
953 B
Python
43 lines
953 B
Python
from bottle import template, get, run, post, request, redirect
|
|
from chess import Game
|
|
|
|
|
|
TEMPLATE = "template.html"
|
|
games = dict()
|
|
|
|
def is_submitted(name):
|
|
return request.forms.get(name) != None
|
|
|
|
@get("/")
|
|
def index():
|
|
game = Game()
|
|
id = max(list(games.keys())+[0]) + 1
|
|
games[id] = game
|
|
redirect("/game/{}/".format(id))
|
|
|
|
@get("/game/<id:int>/")
|
|
def show(id):
|
|
return template(TEMPLATE, game=games[id], valid=True)
|
|
|
|
@post("/game/<id:int>/")
|
|
def move(id):
|
|
valid = True
|
|
if is_submitted("newgame"):
|
|
redirect("/")
|
|
if is_submitted("prev"):
|
|
games[id].prev()
|
|
elif is_submitted("first"):
|
|
games[id].first()
|
|
elif is_submitted("next"):
|
|
games[id].next()
|
|
elif is_submitted("last"):
|
|
games[id].last()
|
|
else:
|
|
AN = request.forms.get("move")
|
|
valid = games[id].AN_move(AN)
|
|
return template(TEMPLATE, game=games[id], valid=valid)
|
|
|
|
|
|
run(host="localhost", port=8080)
|
|
|