def all_images(self, tag=None): c.tag = tag if tag: c.galleries = list(Gallery.by_tag( self.db, descending=True, startkey=[tag,{}], endkey=[tag[:-1] + unichr(ord(tag[-1]) - 1)], )) else: c.galleries = list(Gallery.by_date(self.db, descending=True)) return render('/gallery/all_images.mako')
def tag(self, tag, page=0): try: int(page) except ValueError: abort(404) c.pages = list(self.db.view('galleries/tag_count', group=True, key=tag)) if c.pages: c.pages = c.pages[0].value c.pages = (c.pages % self.entries_per_page == 0) and \ list(self.db.view('galleries/tag_count', group=True, key=tag))[0].value / self.entries_per_page or \ list(self.db.view('galleries/tag_count', group=True, key=tag))[0].value / self.entries_per_page + 1 page = int(page) if page <= c.pages: if page == 0: redirect(url(controller='gallery', action='tag', tag=tag, page=1)) else: c.galleries = list(Gallery.by_tag( self.db, descending=True, startkey=[tag,{}], endkey=[tag[:-1] + unichr(ord(tag[-1]) - 1)], skip=self.entries_per_page * (int(page) - 1), limit=self.entries_per_page, )) c.page = page c.base_url = url(controller='gallery', action='tag', tag=tag, page=0)[:-1] c.tag = tag return render('/gallery/gallery_list.mako') else: abort(404) else: abort(404)