def messages_view_listing(): user = utils.get_user_from_cookie(request) page_name = "messages" messages = utils.get_messages_for_user(user['user_id']) if request.method.lower() == "get": page_content = render_template('view_messages.html', user=user, messages=messages) return render_page(page_content, page_name, user=user)
def show_registration(): user = utils.get_user_from_cookie(request) page_name = 'register' if request.method.lower() == 'get': page_content = render_template("register.html") return render_page(page_content, "register", user=user) if request.method.lower() == 'post': username = request.form.get("username") or "" password = request.form.get("password") or "" if not username or not password: page_content = render_template("register.html", message='Missing field') return render_page(page_content, page_name) if utils.check_username(username): page_content = render_template("register.html", message='That username is taken!') return render_page(page_content, page_name) seed = utils.generate_seed(username, request.remote_addr) totp_key = utils.get_totp_key(seed) utils.register_user(username, password, request.remote_addr) qr_url = 'http://api.qrserver.com/v1/create-qr-code/?data=otpauth://totp/%s?secret=%s&size=220x220&margin=0' % ( username, totp_key) page_content = render_template( "register.html", message= "Success! <a href='/login'>login here</a><br />TOTP Key: %s<br /><img src='%s' />" % (totp_key, qr_url)) return render_page(page_content, page_name)
def edit_profile(): user = utils.get_user_from_cookie(request) page_name = "edit profile" if request.method.lower() == "get": page_content = render_template('edit_profile.html', user=user) return render_page(page_content, page_name, user=user) image_url = request.form.get('image_url') or '' profile_text = request.form.get('profile_text') or '' if not (image_url and profile_text): page_content = render_template('edit_profile.html', user=user, message="Missing fields") return render_page(page_content, page_name, user=user) parsed_url = urlparse.urlparse(image_url) if not (parsed_url.scheme and parsed_url.netloc and parsed_url.path): page_content = render_template('edit_profile.html', user=user, message="Malformed url %s"%(repr(parsed_url))) return render_page(page_content, page_name, user=user) try: contents = urllib2.urlopen(image_url).read() if imghdr.what(None, contents) not in ['png', 'jpeg', 'gif']: page_content = render_template('edit_profile.html', user=user, message="Unknown file type: "+contents) return render_page(page_content, page_name, user=user) except Exception, e: page_content = render_template('edit_profile.html', user=user, message="An exception occurred "+str(e)) return render_page(page_content, page_name, user=user)
def message_compose(): user = utils.get_user_from_cookie(request) page_name = "messages" if request.method.lower() == 'post': message_to = request.form.get('message_to') or '' message_title = request.form.get('message_title') or '' message_contents = request.form.get('message_contents') or '' if not (message_to and message_title and message_contents): message = "Missing field" page_content = render_template('compose.html', user=user, message=message) return render_page(page_content, page_name, user=user) to_user = utils.check_username(message_to) if not to_user: message = "Invalid user" page_content = render_template('compose.html', user=user, message=message) return render_page(page_content, page_name, user=user) utils.create_message(to_user['user_id'], user['user_id'], message_title, message_contents) return redirect('/messages/view') page_content = render_template('compose.html', user=user) return render_page(page_content, page_name, user=user)
def message_compose(): user = utils.get_user_from_cookie(request) page_name = 'messages' if request.method.lower() == "post": message_to = request.form.get("message_to") or "" message_title = request.form.get("message_title") or "" message_contents = request.form.get("message_contents") or "" if not (message_to and message_title and message_contents): message = 'Missing field' page_content = render_template("compose.html", user=user, message=message) return render_page(page_content, page_name, user=user) to_user = utils.check_username(message_to) if not to_user: message = 'Invalid user' page_content = render_template("compose.html", user=user, message=message) return render_page(page_content, page_name, user=user) utils.create_message(to_user["user_id"], user["user_id"], message_title, message_contents) return redirect("/messages/view") page_content = render_template("compose.html", user=user) return render_page(page_content, page_name, user=user)
def messages_view_listing(): user = utils.get_user_from_cookie(request) page_name = 'messages' messages = utils.get_messages_for_user(user["user_id"]) if request.method.lower() == 'get': page_content = render_template("view_messages.html", user=user, messages=messages) return render_page(page_content, page_name, user=user)
def edit_profile(): user = utils.get_user_from_cookie(request) page_name = 'edit profile' if request.method.lower() == 'get': page_content = render_template("edit_profile.html", user=user) return render_page(page_content, page_name, user=user) image_url = request.form.get("image_url") or "" profile_text = request.form.get("profile_text") or "" if not (image_url and profile_text): page_content = render_template("edit_profile.html", user=user, message='Missing fields') return render_page(page_content, page_name, user=user) parsed_url = urlparse.urlparse(image_url) if not (parsed_url.scheme and parsed_url.netloc and parsed_url.path): page_content = render_template("edit_profile.html", user=user, message='Malformed url %s'%(repr(parsed_url))) return render_page(page_content, page_name, user=user) try: contents = urllib2.urlopen(image_url).read() if imghdr.what(None, contents) not in ["png", "jpeg", "gif"]: page_content = render_template("edit_profile.html", user=user, message='Unknown file type: '+contents) return render_page(page_content, page_name, user=user) except Exception, e: page_content = render_template("edit_profile.html", user=user, message='An exception occurred '+str(e)) return render_page(page_content, page_name, user=user)
def show_registration(): user = utils.get_user_from_cookie(request) page_name = "register" if request.method.lower() == "get": page_content = render_template('register.html') return render_page(page_content, 'register', user=user) if request.method.lower() == "post": username = request.form.get('username') or '' password = request.form.get('password') or '' if not username or not password : page_content = render_template('register.html', message="Missing field") return render_page(page_content, page_name) if utils.check_username(username): page_content = render_template('register.html', message="That username is taken!") return render_page(page_content, page_name) seed = utils.generate_seed(username, request.remote_addr) totp_key = utils.get_totp_key(seed) utils.register_user(username, password, request.remote_addr) qr_url = "http://api.qrserver.com/v1/create-qr-code/?data=otpauth://totp/%s?secret=%s&size=220x220&margin=0"%(username, totp_key) page_content = render_template( 'register.html', message='Success! <a href="/login">login here</a><br />TOTP Key: %s<br /><img src="%s" />' % (totp_key, qr_url) ) return render_page(page_content, page_name)
def show_registration(): user = utils.get_user_from_cookie(request) page_name = 'register' if request.method.lower() == 'get': page_content = render_template("register.html") return render_page(page_content, "register", user=user) if request.method.lower() == 'post': username = request.form.get("username") or "" password = request.form.get("password") or "" if not username or not password : page_content = render_template("register.html", message='Missing field') return render_page(page_content, page_name) if utils.check_username(username): page_content = render_template("register.html", message='That username is taken!') return render_page(page_content, page_name) seed = utils.generate_seed(username, request.remote_addr) totp_key = utils.get_totp_key(seed) utils.register_user(username, password, request.remote_addr) qr_url = 'http://api.qrserver.com/v1/create-qr-code/?data=otpauth://totp/%s?secret=%s&size=220x220&margin=0'%(username, totp_key) page_content = render_template( "register.html", message="Success! <a href='/login'>login here</a><br />TOTP Key: %s<br /><img src='%s' />" % (totp_key, qr_url) ) return render_page(page_content, page_name)
def browse_profile(username): page_name = 'search' user = utils.get_user_from_cookie(request) if username and utils.check_username(username): user_profile = utils.check_username(username) page_content = render_template("user_profile.html", message=None, user_profile=user_profile, user=user) return render_page(page_content, page_name) return redirect("/")
def messages_view_individual(message_id): user = utils.get_user_from_cookie(request) message = utils.get_message_by_id(message_id) page_name = 'message' if not message or user["user_id"] not in (message["message_from"], message["message_to"]): return redirect("/messages/view") page_content = render_template("individual_message.html", user=user, message=message) return render_page(page_content, page_name, user=user)
def messages_view_individual(message_id): user = utils.get_user_from_cookie(request) message = utils.get_message_by_id(message_id) page_name = "message" if not message or user['user_id'] not in (message['message_from'], message['message_to']): return redirect('/messages/view') page_content = render_template('individual_message.html', user=user, message=message) return render_page(page_content, page_name, user=user)
def search(): page_name = 'search' user = utils.get_user_from_cookie(request) search_query = request.args.get("query") if not search_query: page_content = render_template("search.html", user=user, message='') return render_page(page_content, page_name, user=user) users = utils.search(search_query) if not users: page_content = render_template("search.html", message='NO USERS FOUND :(', user=user) return render_page(page_content, page_name, user=user) page_content = render_template("search.html", message='', users=users) return render_page(page_content, page_name, user=user)
def search(): page_name = "search" user = utils.get_user_from_cookie(request) search_query = request.args.get('query') if not search_query: page_content = render_template('search.html', user=user, message="") return render_page(page_content, page_name, user=user) users = utils.search(search_query) if not users: page_content = render_template('search.html', message="NO USERS FOUND :(", user=user) return render_page(page_content, page_name, user=user) page_content = render_template('search.html', message="", users=users) return render_page(page_content, page_name, user=user)
def edit_profile(): user = utils.get_user_from_cookie(request) page_name = 'edit profile' if request.method.lower() == 'get': page_content = render_template("edit_profile.html", user=user) return render_page(page_content, page_name, user=user) image_url = request.form.get("image_url") or "" profile_text = request.form.get("profile_text") or "" if not (image_url and profile_text): page_content = render_template("edit_profile.html", user=user, message='Missing fields') return render_page(page_content, page_name, user=user) parsed_url = urlparse.urlparse(image_url) if not (parsed_url.scheme and parsed_url.netloc and parsed_url.path): page_content = render_template("edit_profile.html", user=user, message='Malformed url %s' % (repr(parsed_url))) return render_page(page_content, page_name, user=user) try: contents = urllib2.urlopen(image_url).read() if imghdr.what(None, contents) not in ["png", "jpeg", "gif"]: page_content = render_template("edit_profile.html", user=user, message='Unknown file type: ' + contents) return render_page(page_content, page_name, user=user) except Exception, e: page_content = render_template("edit_profile.html", user=user, message='An exception occurred ' + str(e)) return render_page(page_content, page_name, user=user)
def index(): user = utils.get_user_from_cookie(request) page_name = 'home page' page_content = render_template("home.html") return render_page(page_content, page_name, user=user)
parsed_url = urlparse.urlparse(image_url) if not (parsed_url.scheme and parsed_url.netloc and parsed_url.path): page_content = render_template("edit_profile.html", user=user, message='Malformed url %s'%(repr(parsed_url))) return render_page(page_content, page_name, user=user) try: contents = urllib2.urlopen(image_url).read() if imghdr.what(None, contents) not in ["png", "jpeg", "gif"]: page_content = render_template("edit_profile.html", user=user, message='Unknown file type: '+contents) return render_page(page_content, page_name, user=user) except Exception, e: page_content = render_template("edit_profile.html", user=user, message='An exception occurred '+str(e)) return render_page(page_content, page_name, user=user) utils.update_user_profile(user["user_id"], image_url, profile_text) user = utils.get_user_from_cookie(request) page_content = render_template("edit_profile.html", user=user, message='Success') return render_page(page_content, page_name, user=user) @app.route("/messages/") def messages_redirect(): return redirect("/messages/view") @app.route("/messages/compose", methods=["GET", "POST"]) @require_auth def message_compose(): user = utils.get_user_from_cookie(request) page_name = 'messages' if request.method.lower() == "post": message_to = request.form.get("message_to") or ""
contents = urllib2.urlopen(image_url).read() if imghdr.what(None, contents) not in ["png", "jpeg", "gif"]: page_content = render_template("edit_profile.html", user=user, message='Unknown file type: ' + contents) return render_page(page_content, page_name, user=user) except Exception, e: page_content = render_template("edit_profile.html", user=user, message='An exception occurred ' + str(e)) return render_page(page_content, page_name, user=user) utils.update_user_profile(user["user_id"], image_url, profile_text) user = utils.get_user_from_cookie(request) page_content = render_template("edit_profile.html", user=user, message='Success') return render_page(page_content, page_name, user=user) @app.route("/messages/") def messages_redirect(): return redirect("/messages/view") @app.route("/messages/compose", methods=["GET", "POST"]) @require_auth def message_compose(): user = utils.get_user_from_cookie(request)