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,
    )
Example #2
0
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")
Example #4
0
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('/')
Example #5
0
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)