Ejemplo n.º 1
0
def library_search():

    if request.method == 'GET':
        return redirect(url_for('index'))

    form = LibrarySearch(request.form)

    email = session.get('user_email', None)
    user = db.User.find_one({ 'email' : email })

    libraries = []
    if user is not None:
        libraries = retrieve_all(user=user, only_owned=True)

    if form.search_keywords.data is None or form.search_keywords.data == '':
        flash('Please enter a search term')
        return render_template('index.html', form=form, libraries=libraries)

    # Build query; first look for entries that belong to user, then look for entries that are marked public
    keywords = form.search_keywords.data
 
    entries = list(retrieve_by_terms(keywords, user=user, only_owned=form.user_owned.data))

    if len(entries) < 1:
        flash("Searching for '%s' returned 0 results" % keywords)
        return render_template('index.html', form=form, libraries=libraries)
    else:
        return render_template('library_list.html', user=user, libraries=entries)    
Ejemplo n.º 2
0
def library_json_search():
    email = request.args.get("email", None)
    keywords = request.args.get("terms", None)
    only_owned = bool(request.args.get("owned", False))

    user = db.User.find_one({ 'email' : email })

    results = retrieve_by_terms(keywords, user=user, only_owned=only_owned)

    entries = [entry.simplified_json() for entry in results]

    return jsonify({"results" : entries})