diff options
author | Cédric Bonhomme <kimble.mandel@gmail.com> | 2013-11-12 22:52:04 +0100 |
---|---|---|
committer | Cédric Bonhomme <kimble.mandel@gmail.com> | 2013-11-12 22:52:04 +0100 |
commit | e73be6cf40b50173753a65f6596eb582b1e072ea (patch) | |
tree | 626ac450a0cc22c2c12c6dee38c842a4eeaf9308 /pyaggr3g470r/views.py | |
parent | Resized search form. (diff) | |
download | newspipe-e73be6cf40b50173753a65f6596eb582b1e072ea.tar.gz newspipe-e73be6cf40b50173753a65f6596eb582b1e072ea.tar.bz2 newspipe-e73be6cf40b50173753a65f6596eb582b1e072ea.zip |
Article searching with Whoosh OK.
Diffstat (limited to 'pyaggr3g470r/views.py')
-rw-r--r-- | pyaggr3g470r/views.py | 19 |
1 files changed, 19 insertions, 0 deletions
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(): |