Refactor blog category post selection
This commit is contained in:
@ -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):
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user