X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Fxerxes.git;a=blobdiff_plain;f=tools%2Ftemplatetags%2Fencode_email.py;fp=tools%2Ftemplatetags%2Fencode_email.py;h=e7dccf66d3982c603bd2463a041587ae4c6b8b96;hp=6a737d1e9c295432cede2d3774c9f76e8410289e;hb=884bf66b55546555bfd3df318b9318e8358b02cf;hpb=381c81a8ffac8c4b3abf6a762d031a7e261e8eaa diff --git a/tools/templatetags/encode_email.py b/tools/templatetags/encode_email.py index 6a737d1..e7dccf6 100644 --- a/tools/templatetags/encode_email.py +++ b/tools/templatetags/encode_email.py @@ -1,52 +1,52 @@ -import random -from django import template -""" - Randomized string encoding - Inspired by John Gruber's Markdown: - http://daringfireball.net/projects/markdown/syntax#autolink -""" -register = template.Library() - -#@template.stringfilter -def encode_string(value): - """ - Encode a string into it's equivalent html entity. - - The tag will randomly choose to represent the character as a hex digit or - decimal digit. - - Use {{ obj.name|encode_string }} - - {{ "person"|encode_string }} Becomes something like: - person - """ - e_string = "" - for a in value: - type = random.randint(0,1) - if type: - en = "&#x%x;" % ord(a) - else: - en = "&#%d;" % ord(a) - e_string += en - return e_string - -register.filter("encode_string", encode_string) - -def encode_mailto(value, arg): - """ - Encode an e-mail address and its corresponding link name to its equivalent - html entities. - - Use {{ obj.email|encode_mailto:obj.name }} - - {{ "j@j.com"|encode_mailto:"j" }} Becomes something like: - j - """ - address = 'mailto:%s' % value - address = encode_string(address) - name = encode_string(arg) - tag = "%s" % (address, name) - return tag - -register.filter("encode_mailto", encode_mailto) +import random +from django import template +""" + Randomized string encoding + Inspired by John Gruber's Markdown: + http://daringfireball.net/projects/markdown/syntax#autolink +""" +register = template.Library() + +#@template.stringfilter +def encode_string(value): + """ + Encode a string into it's equivalent html entity. + + The tag will randomly choose to represent the character as a hex digit or + decimal digit. + + Use {{ obj.name|encode_string }} + + {{ "person"|encode_string }} Becomes something like: + person + """ + e_string = "" + for a in value: + type = random.randint(0,1) + if type: + en = "&#x%x;" % ord(a) + else: + en = "&#%d;" % ord(a) + e_string += en + return e_string + +register.filter("encode_string", encode_string) + +def encode_mailto(value, arg): + """ + Encode an e-mail address and its corresponding link name to its equivalent + html entities. + + Use {{ obj.email|encode_mailto:obj.name }} + + {{ "j@j.com"|encode_mailto:"j" }} Becomes something like: + j + """ + address = 'mailto:%s' % value + address = encode_string(address) + name = encode_string(arg) + tag = "%s" % (address, name) + return tag + +register.filter("encode_mailto", encode_mailto)