# OBSOLETED BY http://djangosnippets.org/snippets/1738/

from django.utils.safestring import mark_safe
from django import template

import re

register = template.Library()

@register.filter(name='at_reply')
def twitter_at_reply(tweet):
    pattern = re.compile(r"(\A|\W)@(?P<user>\w+)(\Z|\W)")
    repl = (r'\1@<a href="http://twitter.com/\g<user>"'
    r' title="\g<user> on Twitter">\g<user></a>\3')
    
    return mark_safe(pattern.sub(repl, tweet))


@register.filter(name='hash_tag')
def twitter_hash_tag(tweet):
    pattern = re.compile(r"(\A|\W)#(?P<hashtag>[A-Za-z]+)(\Z|\W)")
    repl = (r'\1#<a href="http://search.twitter.com/search?q=\g<hashtag>"'
    r' title="#\g<hashtag> search Twitter">\g<hashtag></a>\3')
    
    return mark_safe(pattern.sub(repl, tweet))