diff options
-rw-r--r-- | pyaggr3g470r/templates/favorites.html | 45 | ||||
-rw-r--r-- | pyaggr3g470r/views.py | 16 |
2 files changed, 35 insertions, 26 deletions
diff --git a/pyaggr3g470r/templates/favorites.html b/pyaggr3g470r/templates/favorites.html index 0b912286..46842382 100644 --- a/pyaggr3g470r/templates/favorites.html +++ b/pyaggr3g470r/templates/favorites.html @@ -1,28 +1,37 @@ -{% extends "layout.html" %} + {% extends "layout.html" %} {% block content %} <div class="container"> - {% for feed in favorites %} - <div class="row"> + {% for feed in feeds %} + <div class="row"> <div class="col-md-6 col-md-offset-3"> - <h1>{{ feed }}</h1> + <h1>{{ feed.title }}</h1> + <a href="/articles/{{ feed.oid }}"><i class="glyphicon glyphicon-th-list"></i></a> </div> </div> - {% for number in range(0, favorites[feed]|length-2, 3) %} - <div class="row"> - <div class="col-xs-6 col-sm-4 col-md-4"> - <h2><a href="/article/{{ favorites[feed][number].id }}">{{ favorites[feed][number].title }}</a><h2> - <h6>{{ favorites[feed][number].date }}</h6> - </div> - <div class="col-xs-6 col-sm-4 col-md-4"> - <h2><a href="/article/{{ favorites[feed][number+1].id }}">{{ favorites[feed][number+1].title }}</a><h2> - <h6>{{ favorites[feed][number+1].date }}</h6> + {% for number in range(0, feed.articles|length-(feed.articles|length % 3), 3) %} + <div class="row"> + {% for n in range(number, number+3) %} + <div class="col-xs-6 col-sm-4 col-md-4"> + {% if feed.articles[n].readed %}<h3>{% else %}<h1>{% endif %} + <a href="/article/{{ feed.articles[n].id }}">{{ feed.articles[n].title }}</a><h2> + {% if feed.articles[n].readed %}</h3>{% else %}</h1>{% endif %} + <h6>{{ feed.articles[n].date }}</h6> + </div> + {% endfor %} </div> - <div class="col-xs-6 col-sm-4 col-md-4"> - <h2><a href="/article/{{ favorites[feed][number+2].id }}">{{ favorites[feed][number+2].title }}</a><h2> - <h6>{{ favorites[feed][number+2].date }}</h6> + {% endfor %} + {% if feed.articles|length % 3 != 0 %} + <div class="row"> + {% for n in range(0, feed.articles|length % 3) %} + <div class="col-xs-6 col-sm-4 col-md-4"> + {% if feed.articles[n].readed %}<h3>{% else %}<h1>{% endif %} + <a href="/article/{{ feed.articles[n].id }}">{{ feed.articles[n].title }}</a><h2> + {% if feed.articles[n].readed %}</h3>{% else %}</h1>{% endif %} + <h6>{{ feed.articles[n].date }}</h6> + </div> + {% endfor %} </div> - </div> - {% endfor %} + {% endif %} {% endfor %} </div><!-- /.container --> {% endblock %}
\ No newline at end of file diff --git a/pyaggr3g470r/views.py b/pyaggr3g470r/views.py index c390ddc0..d487c1ec 100644 --- a/pyaggr3g470r/views.py +++ b/pyaggr3g470r/views.py @@ -147,18 +147,18 @@ def articles(feed_id=None): user = models.User.objects(email=g.user.email, feeds__oid=feed_id).first() for feed in user.feeds: if str(feed.oid) == feed_id: - return render_template('articles.html', feed=user.feeds[0]) + return render_template('articles.html', feed=user.feeds) @app.route('/favorites/', methods=['GET']) @login_required def favorites(): - favorites = defaultdict(list) - for feed in models.Feed.objects(): - for article in feed.articles: - if article.like: - favorites[feed.title].append(article) - - return render_template('favorites.html', favorites=favorites) + user = models.User.objects(email=g.user.email).first() + result = [] + for feed in user.feeds: + feed.articles = [article for article in feed.articles if article.like] + if len(feed.articles) != 0: + result.append(feed) + return render_template('favorites.html', feeds=result) @app.route('/unread/', methods=['GET']) @login_required |