def tag(tag=None): if request.method == 'POST': return process_post() if not tag: tag_names = tags.get_tags() else: tag_names = [tag] gifs = tags.get_images_for_tag(tag) gif_payload = tags.get_tags_for_images(gifs) gif_tags = dict((d, gif_payload[d]['data']) for d in gif_payload) gif_meta = _format_meta_for_gif_payload(gif_payload) return render_template( 'tags.html', gifs=gifs, tags=tag_names, gif_tags=gif_tags, gif_meta=gif_meta, )
def process_get(page): num = int(request.args.get('num', 10)) gifs = get_file_paths() pagination = Pagination(page, num, len(gifs)) if not gifs and page != 1: abort(404) start = page * num - num gif_payload = tags.get_tags_for_images(gifs) gif_tags = dict((d, gif_payload[d]['data']) for d in gif_payload) gif_meta = _format_meta_for_gif_payload(gif_payload) return render_template( 'index.html', pagination=pagination, tags=sorted(tags.get_tags()), gifs=gifs[start:start + num], gif_tags=gif_tags, gif_meta=gif_meta, )