def post(self): parser = reqparse.RequestParser() parser.add_argument("sessionToken", required=True) parser.add_argument("lat", required=True) parser.add_argument("lon", required=True) parser.add_argument("limit") args = parser.parse_args() sessionToken = args["sessionToken"] #we're going to verify this session token for security purposes if not validateSessionToken(args["sessionToken"]): return {"error": "authentication problem"} limit = 10 #default is 10 if args["limit"] != None: limit = int(args["limit"]) loc = {"geo": { "$nearSphere": { "__type": "GeoPoint", "latitude": float(args["lat"]), "longitude": float(args["lon"]) } } } data = {"limit": limit, "where":json.dumps(loc)} header = apiHeader() r = requests.get(url + "/users", headers = header, params = data) response = json.loads(r.text) #filter the response so we don't leak a bunch of personal info filtered_response = {"results": []} for item in response["results"]: entry = {} entry["username"] = item["username"] if "displayName" not in item or item["displayName"] == None: entry["displayName"] = item["username"] else: entry["displayName"] = item["displayName"] if "status" not in item or item["status"] == None: entry["status"] = "" else: entry["status"] = item["status"] if "geo" not in item: entry["lat"] = 0 entry["lon"] = 0 else: entry["lat"] = item["geo"]["latitude"] entry["lon"] = item["geo"]["longitude"] filtered_response["results"].append(entry) return filtered_response
def put(self): parser = reqparse.RequestParser() parser.add_argument("sessionToken", required=True) parser.add_argument("status", required=True) args = parser.parse_args() if not validateSessionToken(args["sessionToken"]): return {"error": "authentication problem"} self.handleMessage(args["sessionToken"], args["status"]) data = {"status": args["status"]} return updateUser(args["sessionToken"], data)
def post(self): parser = reqparse.RequestParser() parser.add_argument("sessionToken", required=True) parser.add_argument("username", required=True) args = parser.parse_args() if not validateSessionToken(args["sessionToken"]): return {"error": "authentication problem"} userEntry = self.getEntryForUsername(args["username"]) default_pic = "/default_profile_pic.jpg" if "error" in userEntry: return {"error": "problem finding user"} if "picURL" in userEntry: return {"url": userEntry["picURL"]} elif "profileImage" in userEntry: return {"url": userEntry["profileImage"]["image"]["url"]} else: return {"url": default_pic}