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'<a href="\1">URL</a>', msg)
gremmie@1:       return msg
gremmie@1: