From f32b6e3c14292c5a280882bd3d1c5a40796e335c Mon Sep 17 00:00:00 2001 From: str4d Date: Sun, 3 Feb 2013 02:24:05 +0000 Subject: [PATCH] Refactor blog category post selection --- i2p2www/blog/helpers.py | 11 ++++++----- i2p2www/blog/views.py | 3 +-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/i2p2www/blog/helpers.py b/i2p2www/blog/helpers.py index d5a72d41..0122385f 100644 --- a/i2p2www/blog/helpers.py +++ b/i2p2www/blog/helpers.py @@ -37,7 +37,7 @@ def get_blog_feed_items(num=0): items.append(a) return items -def get_blog_posts(num=0, return_parts=False): +def get_blog_posts(num=0, return_parts=False, category=None): """ Returns the latest #num valid posts sorted by date, or all slugs if num=0. """ @@ -49,10 +49,11 @@ def get_blog_posts(num=0, return_parts=False): meta = get_metadata_from_meta(parts['meta']) meta['date'] = meta['date'] if meta['date'] else get_date_from_slug(slug) meta['title'] = parts['title'] - if return_parts: - posts.append((slug, meta, parts)) - else: - posts.append((slug, meta)) + if not category or (meta['category'] and category in meta['category']): + if return_parts: + posts.append((slug, meta, parts)) + else: + posts.append((slug, meta)) return posts def get_blog_slugs(num=0): diff --git a/i2p2www/blog/views.py b/i2p2www/blog/views.py index b5ce5a7e..8e6e36d0 100644 --- a/i2p2www/blog/views.py +++ b/i2p2www/blog/views.py @@ -20,8 +20,7 @@ def blog_index(page): @cache.memoize(600) def blog_category(category, page): - posts = get_blog_posts() - category_posts = [(slug, post) for (slug, post) in posts if post['category'] and category in post['category']] + category_posts = get_blog_posts(category=category) posts = get_for_page(category_posts, page, BLOG_POSTS_PER_PAGE) if not posts and page != 1: abort(404)