def startGame(request): try: if request.body and request.is_ajax: data = json.loads(request.body) try: u1 = Participants.objects.get(username=data[0]['value']) u2 = Participants.objects.get(username=data[1]['value']) except Participants.DoesNotExist: raise Http404 else: g = Game() g.user1 = str(u1.id) g.user2 = str(u2.id) g.cround = str(data[2]['value']) g.fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR" g.status = "pending" # Make Count Down Values Here g.save() response = HttpResponse( json.dumps({ 'gameid': str(g.id), 'route': 'socket', 'type': 'startGame' })) #else: # response = HttpResponse(json.dumps({ 'gameid' : str(g.id), 'route' : 'socket', 'type' : 'startGameNoTime' })) else: raise Http404 except: print sys.exc_info()[0] response = HttpResponse(json.dumps({'error': 'Internal Error'})) return response
def create_game(request): if request.method == "POST": form = CreateGameForm(request.POST, request.FILES) if form.is_valid(): p = Game(white_player=form.cleaned_data["white_player"], black_player=form.cleaned_data["black_player"], owner=users.get_current_user()) p.put() return HttpResponseRedirect(reverse("chess.views.list_games")) else: form = CreateGameForm() return render_to_response("game_form.html", {"form": form})
def update_moves(request, key): if request.method == "POST": form = UpdateMovesForm(request.POST) if form.is_valid(): g = Game.get(key) pgnfile = db.Query(PGNFile).filter("filename", form.cleaned_data["pgnfile"])[0] g.moves = pgnfile.filecontent g.put() return HttpResponseRedirect(reverse("chess.views.list_games")) else: form = UpdateMovesForm() return render_to_response("updatemoves_form.html", {"form": form, "game": Game.get(key)})
def show_game(request, key): return object_detail(request, Game.all(), key)