##// END OF EJS Templates
Fixed post links
Fixed post links

File last commit:

r589:19bd0da8 default
r592:2f9bd2e9 default
Show More
board.py
104 lines | 2.4 KiB | text/x-python | PythonLexer
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)
return post.get_url()
@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 += '[<a href="' + action['link'] % image_link + '">' + \
action['name'] + '</a>]'
return result
@register.inclusion_tag('boards/post.html', name='post_view')
def post_view(post, moderator=False, **kwargs):
"""
Get post
"""
if 'is_opening' in kwargs:
is_opening = kwargs['is_opening']
else:
is_opening = post.is_opening()
if 'thread' in kwargs:
thread = kwargs['thread']
else:
thread = post.thread_new
# if 'can_bump' in kwargs:
# can_bump = kwargs['can_bump']
# else:
can_bump = thread.can_bump()
return {
'post': post,
'moderator': moderator,
'is_opening': is_opening,
'thread': thread,
'bumpable': can_bump,
}
@register.inclusion_tag('boards/post.html', name='post_view_truncated')
def post_view_truncated(post, need_open_link=False, moderator=False, **kwargs):
"""
Get post with truncated text. If the 'open' or 'reply' link is needed, pass
the second parameter as True.
"""
if 'is_opening' in kwargs:
is_opening = kwargs['is_opening']
else:
is_opening = post.is_opening()
if 'thread' in kwargs:
thread = kwargs['thread']
else:
thread = post.thread_new
if 'can_bump' in kwargs:
can_bump = kwargs['can_bump']
else:
can_bump = thread.can_bump()
return {
'post': post,
'truncated': True,
'need_open_link': need_open_link,
'moderator': moderator,
'is_opening': is_opening,
'thread': thread,
'bumpable': can_bump,
}