2 from django import template
\r
4 Randomized string encoding
\r
5 Inspired by John Gruber's Markdown:
\r
6 http://daringfireball.net/projects/markdown/syntax#autolink
\r
8 register = template.Library()
\r
10 #@template.stringfilter
\r
11 def encode_string(value):
\r
13 Encode a string into it's equivalent html entity.
\r
15 The tag will randomly choose to represent the character as a hex digit or
\r
18 Use {{ obj.name|encode_string }}
\r
20 {{ "person"|encode_string }} Becomes something like:
\r
21 person
\r
25 type = random.randint(0,1)
\r
27 en = "&#x%x;" % ord(a)
\r
29 en = "&#%d;" % ord(a)
\r
33 register.filter("encode_string", encode_string)
\r
35 def encode_mailto(value, arg):
\r
37 Encode an e-mail address and its corresponding link name to its equivalent
\r
40 Use {{ obj.email|encode_mailto:obj.name }}
\r
42 {{ "j@j.com"|encode_mailto:"j" }} Becomes something like:
\r
43 <a href="mailto:j@j\
\r
44 .com">j</a>
\r
46 address = 'mailto:%s' % value
\r
47 address = encode_string(address)
\r
48 name = encode_string(arg)
\r
49 tag = "<a href=\"%s\">%s</a>" % (address, name)
\r
52 register.filter("encode_mailto", encode_mailto)
\r