def main(): username = request.get_cookie("username", settings.cookie_secret) password = request.get_cookie("password", settings.cookie_secret) ok = api.check(username, password) if not ok: redirect("/login") meeting_list = api.meeting_list() owners = [] for meeting in meeting_list: if username.lower() in settings.admins or username.lower() in meeting.get("moderator_users"): owners.append(meeting) is_running = api.is_running(meeting.get("id")) if is_running: meeting["status"] = "running" else: meeting["status"] = "stopped" if username.lower() in settings.admins: is_admin = True users = api.suggest("") else: is_admin = users = None message = request.params.get("message") return jinja2_template( "main.html", message=message, is_admin=is_admin, owners=owners, meeting_list=meeting_list, username=username, users=users, )
def updateaddress(): try: addr = request.form['new_address'] except: flash('Cannot be blank') try: results = [] results = api.suggest(addr) addr = results[0] location = api.toGeo(addr) except: flash('Not a valid location, try again.') return redirect('/settings') db.setLocation(session['username'], addr) msg = 'Successfully updated location.' flash(msg) return redirect('/logout')
def edit(): username = request.get_cookie("username", settings.cookie_secret) password = request.get_cookie("password", settings.cookie_secret) ok = api.check(username, password) if ok: username = username.lower() if request.method == "GET": meeting_id = request.params.get("meeting_id") info = api.get_meeting_info(meeting_id) if username not in info.get("moderator_users") and username not in settings.admins: redirect("/start") users = api.suggest("") # username = username.lower() # if username in users: # users.remove(username) attendee_users = info.get("attendee_users") if "" in info.get("attendee_users"): attendee_users.remove("") attendee_users = [x.strip() for x in attendee_users] # remove start/end space if username not in attendee_users: attendee_users.append(username) info["attendee_users"] = attendee_users users = [x for x in users if x not in attendee_users] return jinja2_template("edit.html", users=users, info=info) else: meeting_id = request.params.get("meeting_id") name = request.params.get("name") attendee_users = request.params.get("attendee_users").split(",") attendee_users = [x.strip() for x in attendee_users if x != ""] api.update(username, meeting_id, name, attendee_users) redirect("/start")
def search(): search = request.values.get('search') try: results = [] results = api.suggest(search) if len(results) != 0: search = results[0] except: flash('Not a valid location, try again.') return redirect('/') try: location = api.toGeo(search) session['location'] = location session['search'] = search if 'artist' in session: session.pop('artist') if 'id' in session: session.pop('id') except: return redirect('/') flash('Did you mean ' + search + '? ') return redirect('/')
def register(): username = request.form['username'] password = request.form['password'] address = request.form['address'] if len(username) < 3: flash('Username must be at least 3 characters, try again.') return redirect('/') elif len(password) < 3: flash('Password must be at least 3 characters, try again.') return redirect('/') try: suggest = api.suggest( address) #list of suggestions based on user input address = suggest[0] #sets address to first in suggestions except: flash('Invalid location, try again.') return redirect('/') if not db.isUser(username): db.register(username, password, address) flash('Account successfully created!') else: flash('Username already taken, try again.') return redirect('/')
def suggest(): keyword = request.params.get("q") users = api.suggest(keyword) users = ["%s|%s" % (username, username) for username in users] return "\n".join(users)