Mercurial > public > sg101
annotate gpp/shoutbox/forms.py @ 397:accfc1fdb88d
Fixing #195; don't escape text in plain text emails.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 25 Mar 2011 23:59:16 +0000 |
parents | dbd703f7d63a |
children |
rev | line source |
---|---|
gremmie@1 | 1 """ |
gremmie@1 | 2 Forms for the Shoutbox application. |
gremmie@1 | 3 """ |
gremmie@1 | 4 |
gremmie@1 | 5 import re |
gremmie@1 | 6 from django import forms |
gremmie@1 | 7 |
gremmie@1 | 8 url_re = re.compile('(' |
gremmie@1 | 9 r'^https?://' # http:// or https:// |
gremmie@1 | 10 r'(?:(?:[A-Z0-9-]+\.)+[A-Z]{2,6}|' #domain... |
gremmie@1 | 11 r'localhost|' #localhost... |
gremmie@1 | 12 r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip |
gremmie@1 | 13 r'(?::\d+)?' # optional port |
gremmie@1 | 14 r'(?:/?|/\S+))', re.IGNORECASE) |
gremmie@1 | 15 |
gremmie@1 | 16 |
gremmie@1 | 17 class ShoutBoxForm(forms.Form): |
gremmie@1 | 18 msg = forms.CharField(label='', max_length=2048, required=True) |
gremmie@1 | 19 |
gremmie@1 | 20 def get_shout(self): |
gremmie@1 | 21 msg = self.cleaned_data['msg'] |
gremmie@1 | 22 msg = re.sub(url_re, r'<a href="\1">URL</a>', msg) |
gremmie@1 | 23 return msg |
gremmie@1 | 24 |