def get_user_data_by_email(token, email): userdata = database_helper.get_user_by_email(email) if database_helper.get_active(token) == None: return json.dumps({ "success": False, "message": "You are not signed in." }) if userdata == None: return json.dumps({"success": False, "message": "No such user."}) else: data = { "email": userdata[0], "firstname": userdata[1], "familyname": userdata[2], "gender": userdata[3], "city": userdata[4], "country": userdata[5] } return json.dumps({ "success": True, "message": "User data retrieved.", "data": data })
def change_password(): token = request.form["token"] oldpass = request.form["oldpassword"] newpass = request.form["newpassword"] email = database_helper.get_active(token) print email if email == None: return json.dumps({ "success": False, "message": "You are not logged in." }) userdata = database_helper.get_user_by_email(email) if userdata[6] != oldpass: return json.dumps({"success": False, "message": "Wrong password."}) success = database_helper.change_password(email, newpass) if success == True: return json.dumps({"success": True, "message": "Password changed."}) else: return json.dumps({ "success": False, "message": "Password change failed." })
def get_user_data_helper(token, email): userdata = database_helper.get_user_by_email(email) if database_helper.get_active(token) == None: return json.dumps({ "success": False, "message": "You are not signed in." }) if userdata == None: return json.dumps({"success": False, "message": "No such user."}) else: if database_helper.increment_user_visits(email): print "get_user_data_by_email(): increment_user_visits() succeeded" else: print "get_user_data_by_email(): increment_user_visits() failed" update_visit_count() data = { "email": userdata[0], "firstname": userdata[1], "familyname": userdata[2], "gender": userdata[3], "city": userdata[4], "country": userdata[5] } return json.dumps({ "success": True, "message": "User data retrieved.", "data": data })
def get_login_status(token): email = database_helper.get_active(token) if email == None: return json.dumps({ "success": False, "message": "You are not signed in." }) return json.dumps({"success": True, "message": "You are signed in."})
def get_user_messages_by_token(token): email = database_helper.get_active(token) if email == None: return json.dumps({ "success": False, "message": "You are not signed in." }) return get_user_messages_by_email(token, email)
def websocket(token): if request.environ.get('wsgi.websocket'): email = database_helper.get_active(token) if (email != None): ws = request.environ['wsgi.websocket'] websockets[email] = {"websocket": ws, "sema": None} update_user_count() while ws.receive() != None: pass del websockets[email] return "websocket(): done"
def websocket(token): if request.environ.get('wsgi.websocket'): email = database_helper.get_active(token) if (email != None) : ws = request.environ['wsgi.websocket'] websockets[email] = {"websocket": ws, "sema": None} update_user_count() while ws.receive() != None : pass del websockets[email] return "websocket(): done"
def sign_out(): token = request.form["token"] email = database_helper.get_active(token) ret = database_helper.remove_active(token) if email != None : if websockets.get(email, None) != None : websockets[email]['websocket'].close(1000, "You've signed out") if ret : update_user_count() return json.dumps ({"success": True, "message": "Successfully signed out."}) else : return json.dumps ({"success": False, "message": "You are not signed in."})
def post_message(token, message, email): sender = database_helper.get_active(token) if sender == None : return json.dumps({"success": False, "message": "You are not signed in."}) if database_helper.get_user_by_email(email) == None : return json.dumps({"success": False, "message" : "No such user."}) post_time = int(time.time()) success = database_helper.add_message(email, sender, post_time, message) if success == True : return json.dumps({"success": True, "message": "Message posted."}) return json.dumps({"success": False, "message": "Failed to post message."})
def sign_out(token): email = database_helper.get_active(token) ret = database_helper.remove_active(token) if email != None : if websockets.get(email, None) != None : print "sign_out(): releasing sema for [" + email + "]" websockets[email].sema.release() del websockets[email] if ret : return json.dumps ({"success": True, "message": "Successfully signed out."}) else : return json.dumps ({"success": False, "message": "You are not signed in."})
def get_user_messages_by_email(token, email) : if database_helper.get_active(token) == None : return json.dumps({"success": False, "message" : "You are not signed in."}) if database_helper.get_user_by_email(email) == None : return json.dumps({"success": False, "message" : "No such user."}) messages = database_helper.get_messages(email) message_list = [] for (recipient, sender, time, message) in messages : json_message = {"sender" : sender, "time" : time, "message" : message} message_list.append(json_message) return json.dumps({"success": True, "message" : "User messages retrieved", "data" : message_list})
def get_user_messages_helper(token, email): if database_helper.get_active(token) == None : return json.dumps({"success": False, "message" : "You are not signed in."}) if database_helper.get_user_by_email(email) == None : return json.dumps({"success": False, "message" : "No such user."}) messages = database_helper.get_messages(email) message_list = [] for (recipient, sender, time, message) in messages : json_message = {"sender" : sender, "time" : time, "message" : message} message_list.append(json_message) return json.dumps({"success": True, "message" : "User messages retrieved", "data" : message_list})
def websocket(token): if request.environ.get('wsgi.websocket'): email = database_helper.get_active(token) if (email == None) : # return json.dumps({"success": False, "message": "Your are not signed in."}) else : websocket = request.environ['wsgi.websocket'] sema = Semaphore(0) websockets[email] = {"websocket": websocket, "sema": sema} print "websocket(): waiting at sema for [" + email + "]" sema.acquire() print "websocket(): sema for [" + email + "] passed" # return json.dumps({"success": True, "message": "Websocket connected."}) return "websocket(): done"
def change_password(token, oldpass, newpass): email = database_helper.get_active(token) print email if email == None : return json.dumps({"success": False, "message": "You are not logged in."}) userdata = database_helper.get_user_by_email(email) if userdata[6] != oldpass : return json.dumps({"success": False, "message": "Wrong password."}) success = database_helper.change_password(email, newpass) if success == True : return json.dumps({"success": True, "message": "Password changed."}) else : return json.dumps({"success": False, "message": "Password change failed."})
def post_message(): token = request.form["token"] message = request.form["message"] email = request.form["email"] sender = database_helper.get_active(token) if sender == None : return json.dumps({"success": False, "message": "You are not signed in."}) if database_helper.get_user_by_email(email) == None : return json.dumps({"success": False, "message" : "No such user."}) post_time = int(time.time()) success = database_helper.add_message(email, sender, post_time, message) if success == True : update_message_count(email) return json.dumps({"success": True, "message": "Message posted."}) return json.dumps({"success": False, "message": "Failed to post message."})
def get_user_data_by_email(token, email): userdata = database_helper.get_user_by_email(email) if database_helper.get_active(token) == None : return json.dumps({"success": False, "message": "You are not signed in."}); if userdata == None : return json.dumps({"success": False, "message": "No such user."}) else : data = { "email": userdata[0], "firstname": userdata[1], "familyname": userdata[2], "gender": userdata[3], "city": userdata[4], "country": userdata[5]} return json.dumps({"success": True, "message": "User data retrieved.", "data": data})
def sign_out(): token = request.form["token"] email = database_helper.get_active(token) ret = database_helper.remove_active(token) if email != None: if websockets.get(email, None) != None: websockets[email]['websocket'].close(1000, "You've signed out") if ret: update_user_count() return json.dumps({ "success": True, "message": "Successfully signed out." }) else: return json.dumps({ "success": False, "message": "You are not signed in." })
def post_message(): token = request.form["token"] message = request.form["message"] email = request.form["email"] sender = database_helper.get_active(token) if sender == None: return json.dumps({ "success": False, "message": "You are not signed in." }) if database_helper.get_user_by_email(email) == None: return json.dumps({"success": False, "message": "No such user."}) post_time = int(time.time()) success = database_helper.add_message(email, sender, post_time, message) if success == True: update_message_count(email) return json.dumps({"success": True, "message": "Message posted."}) return json.dumps({"success": False, "message": "Failed to post message."})
def get_user_data_helper(token, email): userdata = database_helper.get_user_by_email(email) if database_helper.get_active(token) == None : return json.dumps({"success": False, "message": "You are not signed in."}); if userdata == None : return json.dumps({"success": False, "message": "No such user."}) else : if database_helper.increment_user_visits(email) : print "get_user_data_by_email(): increment_user_visits() succeeded" else: print "get_user_data_by_email(): increment_user_visits() failed" update_visit_count() data = { "email": userdata[0], "firstname": userdata[1], "familyname": userdata[2], "gender": userdata[3], "city": userdata[4], "country": userdata[5]} return json.dumps({"success": True, "message": "User data retrieved.", "data": data})
def get_user_messages_by_token(token) : email = database_helper.get_active(token) if email == None : return json.dumps({"success": False, "message": "You are not signed in."}) return get_user_messages_helper(token, email)
def get_login_status(token): email = database_helper.get_active(token) if email == None : return json.dumps({"success": False, "message": "You are not signed in."}) return json.dumps({"success": True, "message": "You are signed in."})