from django import template
from zilbo.common.tag.models import ExternalBookMark
register = template.Library()
@register.inclusion_tag('tag/memedigger.html', takes_context=True)
def memedigger(context):
pref = context.get('PREFS' ,{} )
a={}
if pref.has_key('bookmark_bookmark'):
try:
bookmark = ExternalBookMark.objects.get( name = pref['bookmark_bookmark'] )
a['bookmark'] = ( bookmark.URL, bookmark.get_icon_url(), bookmark.name )
except ExternalBookMark.DoesNotExist:
pass
if pref.has_key('bookmark_digg'):
try:
bookmark = ExternalBookMark.objects.get( name = pref['bookmark_digg'] )
a['digg'] = ( bookmark.URL, bookmark.get_icon_url(), bookmark.name )
except ExternalBookMark.DoesNotExist:
pass
return a
class ExtBookMarkNode(template.Node):
""" list of the top X forums.. right now.. just list the first 10 """
def __init__(self, token):
self.token = token
def render(self, context):
pref = context.get('PREFS' ,{} )
object = template.resolve_variable( self.token, context )
if object is None:
return ""
if pref.has_key('bookmark_bookmark'):
try:
bookmark = ExternalBookMark.objects.get( name = pref['bookmark_bookmark'] )
try:
url = object.link
except:
url = object.get_absolute_url()
title = str(object)
bookurl =bookmark.URL
if url.startswith("http"):
bookurl = bookurl.replace("XXUXX", url )
else:
bookurl = bookurl.replace("XXUXX", "http://%s%s" % ( context.get('site').domain, url ) )
#bookurl = bookurl.replace("XXUXX", "http://%s%s" % ( context.get('site').domain, url ) )
bookurl = bookurl.replace("XXTXX", title )
return "
" % (
bookurl, bookmark.name, bookmark.get_icon_url(), bookmark.name )
except ExternalBookMark.DoesNotExist:
return ""
return ""
@register.tag
def extbookmark(parser, token):
"""
{% extbookmark obj %}
"""
bits = token.contents.split()
return ExtBookMarkNode(bits[1])
class ExtDiggerNode(template.Node):
""" list of the top X forums.. right now.. just list the first 10 """
def __init__(self, token):
self.token = token
def render(self, context):
pref = context.get('PREFS' ,{} )
object = template.resolve_variable( self.token, context )
if object is None:
return ""
if pref.has_key('bookmark_digg'):
try:
bookmark = ExternalBookMark.objects.get( name = pref['bookmark_digg'] )
try:
url = object.link
except:
url = object.get_absolute_url()
title = str(object)
bookurl =bookmark.URL
#bookurl = bookurl.replace("XXUXX", "http://%s%s" % ( context.get('site').domain, url ) )
if url.startswith("http"):
bookurl = bookurl.replace("XXUXX", url )
else:
bookurl = bookurl.replace("XXUXX", "http://%s%s" % ( context.get('site').domain, url ) )
bookurl = bookurl.replace("XXTXX", title )
return "
" % (
bookurl, bookmark.name, bookmark.get_icon_url(), bookmark.name )
except ExternalBookMark.DoesNotExist:
return ""
return ""
@register.tag
def extdigger(parser, token):
"""
{% extdigger obj %}
"""
bits = token.contents.split()
return ExtDiggerNode(bits[1])