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 "%s" % ( 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 "%s" % ( 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])