gremmie@1: """ gremmie@1: Forms for the Shoutbox application. gremmie@1: """ gremmie@1: gremmie@1: import re gremmie@1: from django import forms gremmie@1: gremmie@1: url_re = re.compile('(' gremmie@1: r'^https?://' # http:// or https:// gremmie@1: r'(?:(?:[A-Z0-9-]+\.)+[A-Z]{2,6}|' #domain... gremmie@1: r'localhost|' #localhost... gremmie@1: r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip gremmie@1: r'(?::\d+)?' # optional port gremmie@1: r'(?:/?|/\S+))', re.IGNORECASE) gremmie@1: gremmie@1: gremmie@1: class ShoutBoxForm(forms.Form): gremmie@1: msg = forms.CharField(label='', max_length=2048, required=True) gremmie@1: gremmie@1: def get_shout(self): gremmie@1: msg = self.cleaned_data['msg'] gremmie@1: msg = re.sub(url_re, r'URL', msg) gremmie@1: return msg gremmie@1: