from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404 from boards.models import Post from boards.views import thread, api from django import template register = template.Library() actions = [ { 'name': 'google', 'link': 'http://google.com/searchbyimage?image_url=%s', }, { 'name': 'iqdb', 'link': 'http://iqdb.org/?url=%s', }, ] @register.simple_tag(name='post_url') def post_url(*args, **kwargs): post_id = args[0] post = get_object_or_404(Post, id=post_id) if not post.is_opening(): link = reverse(thread, kwargs={ 'post_id': post.thread_new.get_opening_post().id}) + '#' + str( post_id) else: link = reverse(thread, kwargs={'post_id': post_id}) return link @register.simple_tag(name='image_actions') def image_actions(*args, **kwargs): image_link = args[0] if len(args) > 1: image_link = 'http://' + args[1] + image_link # TODO https? result = '' for action in actions: result += '[' + \ action['name'] + ']' return result @register.inclusion_tag('boards/post.html', name='post_view') def post_view(*args, **kwargs): post = args[0] return { 'post': post } @register.inclusion_tag('boards/post.html', name='post_view_truncated') def post_view_truncated(*args, **kwargs): post = args[0] if len(args) > 1: need_open_link = args[1] else: need_open_link = False return { 'post': post, 'truncated': True, 'need_open_link': need_open_link }