def post( self ): ## Make sure the user is logged in if not self.user: self.redirect( "/login" ) return cancel = self.request.get( "cancel" ) gameid = self.request.get( "gameid" ) ## If the user hit "cancel" then refresh the board if cancel: self._cancel_move( gameid ) return else: ## Retrieve this game from the database game = GameView( gameid = gameid ) if game: ## Grab the move row = self.request.get( "row" ) col = self.request.get( "col" ) try: game.update_game( user = self.user, row = int( row ), col = int( col ) ) except WrongTurnException as e: self.render( "/play?gameid=%s" % gameid, error = e.message ) return ## Send email to opponent telling them it's their turn player1_name = User.get_user_name( game.player1 ) player2 = User.by_id( game.player2 ) if player2.email and player2.move_emails: HexEmail.sendMoveNotice( player2.email, player1_name ) ## Redirect to homepage self.redirect( "/home" ) else: logging.error( "That's not a valid game" ) self.redirect( "/" )