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)
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})