def render_GET(self, request): request.defaultContentType = "application/json" try: token = request.args["token"][0] except KeyError: return json.dumps({"error" : "no token given"}) result = self.cp.runQuery( "update games set hasStarted = 1 where token = ?", (Utility.hashToken(token),) ) result.addCallback(self.gameJoined, request, token) return NOT_DONE_YET
def render_GET(self, request): request.defaultContentType = "application/json" try: token = request.args["token"][0] except KeyError: return json.dumps({"error" : "no token given"}) try: identifier = request.args["id"][0] result = self.cp.runQuery( "delete from games where id = ? and token = ?", (identifier, Utility.hashToken(token)) ) result.addCallback(self.gameRemoved, request, token) return NOT_DONE_YET except KeyError: return json.dumps({"error" : "id or name required"})
def render_GET(self, request): request.defaultContentType = "application/json" try: # TODO: check if the game actually exists gameId = int(request.args["gameId"][0]) playerId = int(request.args["id"][0]) token = request.args["token"][0] result = self.cp.runQuery( """ update or ignore accounts set currentGame = ? where id = ? and token = ? """, (gameId, playerId, Utility.hashToken(token)) ) result.addCallback(self.gameJoined, request) return NOT_DONE_YET except: return json.dumps({"error" : "not all arguments set"})
def insertGame(self, interaction, name, owner, maxPlayers, token, playerToken, wallbreaker, timeLimit, maxDist): interaction.execute("select token from accounts where id = ?", (owner, )) realToken = interaction.fetchone() if realToken is None or not Utility.checkToken(playerToken, realToken[0]): return None interaction.execute( """ insert or ignore into games ( name, owner, maxPlayers, ping, token, wallbreaker, timeLimit, maxDist ) values (?, ?, ?, 0, ?, ?, ?, ?) """, (name, owner, maxPlayers, Utility.hashToken(token), wallbreaker, timeLimit, maxDist) ) interaction.execute("select max(id) from games") return interaction.fetchone()[0]
def insertAccount(self, interaction, name, pictureUrl, friends, facebookId, token): try: interaction.execute( "insert or fail into accounts (name,pictureUrl,token) values (?,?,?)", (name, pictureUrl, Utility.hashToken(token)) ) interaction.execute("select max(id) from accounts") userId = interaction.fetchone()[0] if facebookId is not None: interaction.execute("update accounts set facebookId=? where id=?", (facebookId, userId)) for friend in friends: interaction.execute( "insert or ignore into friends (id,userId1,userId2,pending) values (null,?,?,0)", (userId, friend) ) return userId except IntegrityError: return None
def render_GET(self, request): request.defaultContentType = "application/json" try: id = request.args["id"][0] token = request.args["token"][0] playtime = int(request.args["playtime"][0]) self.__cp.runQuery("update accounts set playtime = ? where id=? and token=?",(playtime, id, Utility.hashToken(token))).addCallback(self.playtimeUpdated, request) return NOT_DONE_YET except KeyError: return json.dumps({"error" : "not all arguments set"})
def render_GET(self, request): request.defaultContentType = "application/json" try: id = request.args["id"][0] token = request.args["token"][0] result = self.__cp.runQuery("delete from accounts where id=? and token=?", (id, Utility.hashToken(token))) result.addCallback(self.accountDeleted, request) return NOT_DONE_YET except KeyError: return json.dumps({"error" : "not all arguments set"})
def render_GET(self, request): request.defaultContentType = "application/json" try: id = request.args["id"][0] token = request.args.get("token",[None])[0] if token is None: result = self.__cp.runQuery("select id, facebookId, name, pictureUrl, wins, losses, highscore from accounts where id = ?", (id,)) result.addCallback(self.accountSelected, request, False) else: result = self.__cp.runQuery("select id, facebookId, name, pictureUrl, wins, losses, highscore, playtime from accounts where id = ? and token = ?", (id, Utility.hashToken(token))) result.addCallback(self.accountSelected, request, True) return NOT_DONE_YET except KeyError: return json.dumps({"error" : "not all arguments set"})