Added ten-minute caching to blog and meetings views
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
from flask import abort, render_template, request
|
||||
from werkzeug.contrib.atom import AtomFeed
|
||||
|
||||
from i2p2www import BLOG_POSTS_PER_PAGE
|
||||
from i2p2www import BLOG_POSTS_PER_PAGE, cache
|
||||
from i2p2www.blog.helpers import get_blog_posts, get_blog_feed_items, get_date_from_slug, get_metadata_from_meta, render_blog_post
|
||||
from i2p2www.helpers import Pagination, get_for_page
|
||||
|
||||
@ -9,6 +9,7 @@ from i2p2www.helpers import Pagination, get_for_page
|
||||
############
|
||||
# Blog views
|
||||
|
||||
@cache.memoize(600)
|
||||
def blog_index(page):
|
||||
all_posts = get_blog_posts()
|
||||
posts = get_for_page(all_posts, page, BLOG_POSTS_PER_PAGE)
|
||||
@ -17,6 +18,7 @@ def blog_index(page):
|
||||
pagination = Pagination(page, BLOG_POSTS_PER_PAGE, len(all_posts))
|
||||
return render_template('blog/index.html', pagination=pagination, posts=posts)
|
||||
|
||||
@cache.memoize(600)
|
||||
def blog_post(slug):
|
||||
# try to render that blog post.. throws 404 if it does not exist
|
||||
parts = render_blog_post(slug)
|
||||
@ -33,6 +35,7 @@ def blog_rss():
|
||||
# TODO: implement
|
||||
pass
|
||||
|
||||
@cache.cached(600)
|
||||
def blog_atom():
|
||||
# TODO: Only output beginning of each blog post
|
||||
feed = AtomFeed('I2P Blog', feed_url=request.url, url=request.url_root)
|
||||
|
@ -3,7 +3,7 @@ from flask import abort, render_template, request, safe_join
|
||||
import os.path
|
||||
from werkzeug.contrib.atom import AtomFeed
|
||||
|
||||
from i2p2www import MEETINGS_DIR, MEETINGS_PER_PAGE
|
||||
from i2p2www import MEETINGS_DIR, MEETINGS_PER_PAGE, cache
|
||||
from i2p2www.helpers import Pagination, get_for_page
|
||||
from i2p2www.meetings.helpers import get_meetings, get_meetings_feed_items
|
||||
|
||||
@ -12,6 +12,7 @@ from i2p2www.meetings.helpers import get_meetings, get_meetings_feed_items
|
||||
# Meeting handlers
|
||||
|
||||
# Meeting index
|
||||
@cache.memoize(600)
|
||||
def meetings_index(page):
|
||||
all_meetings = get_meetings()
|
||||
meetings = get_for_page(all_meetings, page, MEETINGS_PER_PAGE)
|
||||
@ -21,6 +22,7 @@ def meetings_index(page):
|
||||
return render_template('meetings/index.html', pagination=pagination, meetings=meetings)
|
||||
|
||||
# Renderer for specific meetings
|
||||
@cache.memoize(600)
|
||||
def meetings_show(id, log=False, rst=False):
|
||||
"""
|
||||
Render the meeting X.
|
||||
@ -71,6 +73,7 @@ def meetings_show_log(id):
|
||||
def meetings_show_rst(id):
|
||||
return meetings_show(id, rst=True)
|
||||
|
||||
@cache.cached(600)
|
||||
def meetings_atom():
|
||||
feed = AtomFeed('I2P Meetings', feed_url=request.url, url=request.url_root)
|
||||
items = get_meetings_feed_items(10)
|
||||
|
Reference in New Issue
Block a user