def GET(self, page=1):
     p = safe_number(page) 
     limit = blog_settings.items_per_page
     offset = start_index(p, limit)
     totalPages = page_service.count_all()
     totalPagesPublished = page_service.count_published()
     pageCount = total_page(totalPagesPublished, limit) 
     pages = page_service.get_published(offset, limit)
     nextLink = "/" + str(p + 1) if p < pageCount else None
     previousLink = "/" + str(p - 1) if p > 1 else None 
     return render.pages(totalPages, totalPagesPublished, pages, nextLink, previousLink)
 def fetch(self, key, max_age=5):            
     if self.cache.has_key(key):            
         if int(time.time()) - self.cache[key][0] < max_age:
             return self.cache[key][1]
     # Retrieve and cache        
     data = []
     if key == '_tags':
         data = tag_service.get_popular(5)
     elif key == '_pages':
         data = page_service.get_published(0, 5)
     elif key == '_posts':
         data = post_service.get_published(0, 10)           
     self.cache[key] = (time.time(), data)
     return data