Refactor blog category post selection

This commit is contained in:
str4d
2013-02-03 02:24:05 +00:00
parent 535e2f41b0
commit f32b6e3c14
2 changed files with 7 additions and 7 deletions

View File

@ -37,7 +37,7 @@ def get_blog_feed_items(num=0):
items.append(a) items.append(a)
return items 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. 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 = get_metadata_from_meta(parts['meta'])
meta['date'] = meta['date'] if meta['date'] else get_date_from_slug(slug) meta['date'] = meta['date'] if meta['date'] else get_date_from_slug(slug)
meta['title'] = parts['title'] meta['title'] = parts['title']
if return_parts: if not category or (meta['category'] and category in meta['category']):
posts.append((slug, meta, parts)) if return_parts:
else: posts.append((slug, meta, parts))
posts.append((slug, meta)) else:
posts.append((slug, meta))
return posts return posts
def get_blog_slugs(num=0): def get_blog_slugs(num=0):

View File

@ -20,8 +20,7 @@ def blog_index(page):
@cache.memoize(600) @cache.memoize(600)
def blog_category(category, page): def blog_category(category, page):
posts = get_blog_posts() category_posts = get_blog_posts(category=category)
category_posts = [(slug, post) for (slug, post) in posts if post['category'] and category in post['category']]
posts = get_for_page(category_posts, page, BLOG_POSTS_PER_PAGE) posts = get_for_page(category_posts, page, BLOG_POSTS_PER_PAGE)
if not posts and page != 1: if not posts and page != 1:
abort(404) abort(404)