@reply links in Twitter messages

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# Template tags file

from django.utils.safestring import mark_safe
import re

@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))

# Template usage
{% load TAG_LIBRARY_NAME %}
{{ status.status|at_reply }}

Comments

ericmoritz (on July 3, 2008):

Thanks for the props! It looks awesome in action.

#

(Forgotten your password?)

You may use Markdown syntax here, but raw HTML will be removed.