def _delete_category_posts_cache(category): default_category = apis.Category.default_category() for page in range(CATEGORY_CACHE_PAGES+1): for public in (True, False): key = CATEGORY_CACHE_KEY % (category.id, page, category.posts_per_page, public) memcache.delete(key) if category.id != default_category.id: key = CATEGORY_CACHE_KEY % (default_category.id, page, default_category.posts_per_page, public) memcache.delete(key)
def create_post(category_id=None, **settings): """create a new post in a category. Args: settings: a dict of post settings Returns: post: a dict of post""" category = apis.Category.get_by_id(category_id) if not category: category = apis.Category.default_category() _delete_category_posts_cache(category) memcache.delete(SITEMAP_CACHE_KEY) author = apis.User.get_current_user() post = apis.Post.create_post(author, category, **settings) _delete_post_cache(post) result = {"post": post} return result
def create_post(category_id=None, **settings): """create a new post in a category. Args: settings: a dict of post settings Returns: post: a dict of post""" category = apis.Category.get_by_id(category_id) if not category: category = apis.Category.default_category() _delete_category_posts_cache(category) memcache.delete(SITEMAP_CACHE_KEY) author = apis.User.get_current_user() post = apis.Post.create_post(author, category, **settings) _delete_post_cache(post) result = { "post": post } return result
def _delete_comments_cache(post_id): key = COMMENT_CACHE_KEY % post_id memcache.delete(key)
def _delete_post_cache(post): key = POST_CACHE_KEY % post.id memcache.delete(key)
def _delete_comments_cache(post_id): key = format_key(COMMENT_CACHE_KEY, post_id) memcache.delete(key)
def _delete_post_cache(post): key = format_key(POST_CACHE_KEY, post.id) memcache.delete(key)