From e73be6cf40b50173753a65f6596eb582b1e072ea Mon Sep 17 00:00:00 2001 From: Cédric Bonhomme Date: Tue, 12 Nov 2013 22:52:04 +0100 Subject: Article searching with Whoosh OK. --- pyaggr3g470r/views.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'pyaggr3g470r/views.py') diff --git a/pyaggr3g470r/views.py b/pyaggr3g470r/views.py index 030272b9..53172b16 100644 --- a/pyaggr3g470r/views.py +++ b/pyaggr3g470r/views.py @@ -40,6 +40,7 @@ from pyaggr3g470r import app, db import feedgetter import models +import search as fastsearch login_manager = LoginManager() @@ -199,6 +200,24 @@ def unread(): result.append(feed) return render_template('unread.html', feeds=result) +@app.route('/search/', methods=['GET']) +@login_required +def search(): + user = models.User.objects(email=g.user.email).first() + result = [] + query = request.args.get('query', None) + if query != None: + results = fastsearch.search(query) + for feed_id in results: + for feed in user.feeds: + if str(feed.oid) == feed_id: + feed.articles = [] + for article_id in results[feed_id]: + current_article = models.Article.objects(id=article_id).first() + feed.articles.append(current_article) + result.append(feed) + return render_template('search.html', feeds=result) + @app.route('/management/', methods=['GET']) @login_required def management(): -- cgit