Browse Source

Split out form related code to forms.py

Thomas Adamcik 15 years ago
parent
commit
3cf13a1ff3
2 changed files with 52 additions and 49 deletions
  1. 2 49
      netfilters/__init__.py
  2. 50 0
      netfilters/forms.py

+ 2 - 49
netfilters/__init__.py

@@ -1,12 +1,10 @@
-import re
 from IPy import IP
 
-from django import forms
 from django.db import models, connection
 from django.db.models import sql, query
 from django.db.models.query_utils import QueryWrapper
-from django.utils.encoding import force_unicode
-from django.utils.safestring import mark_safe
+
+from netfilters.forms import NetAddressFormField, MACAddressFormField
 
 NET_OPERATORS = connection.operators.copy()
 
@@ -83,51 +81,6 @@ class NetManger(models.Manager):
         return query.QuerySet(self.model, q)
 
 
-class NetInput(forms.Widget):
-    input_type = 'text'
-
-    def render(self, name, value, attrs=None):
-        # Default forms.Widget compares value != '' which breaks IP...
-        if value is None: value = ''
-        final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
-        if value:
-            final_attrs['value'] = force_unicode(value)
-        return mark_safe(u'<input%s />' % forms.util.flatatt(final_attrs))
-
-
-class NetAddressFormField(forms.Field):
-    widget = NetInput
-    default_error_messages = {
-        'invalid': u'Enter a valid IP Address.',
-    }
-
-    def __init__(self, *args, **kwargs):
-        super(NetAddressFormField, self).__init__(*args, **kwargs)
-
-    def clean(self, value):
-        super(NetAddressFormField, self).clean(value)
-
-        if value in (None, ''):
-            return None
-        if isinstance(value, IP):
-            return value
-        try:
-            return IP(value)
-        except ValueError, e:
-            raise forms.ValidationError(e)
-
-
-mac_re = re.compile(r'^(([A-F0-9]{2}:){5}[A-F0-9]{2})$')
-
-class MACAddressFormField(forms.RegexField):
-    default_error_messages = {
-        'invalid': u'Enter a valid MAC address.',
-    }
-
-    def __init__(self, *args, **kwargs):
-        super(MACAddressFormField, self).__init__(mac_re, *args, **kwargs)
-
-
 class _NetAddressField(models.Field):
     empty_strings_allowed = False
 

+ 50 - 0
netfilters/forms.py

@@ -0,0 +1,50 @@
+import re
+from IPy import IP
+
+from django import forms
+from django.utils.encoding import force_unicode
+from django.utils.safestring import mark_safe
+
+class NetInput(forms.Widget):
+    input_type = 'text'
+
+    def render(self, name, value, attrs=None):
+        # Default forms.Widget compares value != '' which breaks IP...
+        if value is None: value = ''
+        final_attrs = self.build_attrs(attrs, type=self.input_type, name=name)
+        if value:
+            final_attrs['value'] = force_unicode(value)
+        return mark_safe(u'<input%s />' % forms.util.flatatt(final_attrs))
+
+
+class NetAddressFormField(forms.Field):
+    widget = NetInput
+    default_error_messages = {
+        'invalid': u'Enter a valid IP Address.',
+    }
+
+    def __init__(self, *args, **kwargs):
+        super(NetAddressFormField, self).__init__(*args, **kwargs)
+
+    def clean(self, value):
+        super(NetAddressFormField, self).clean(value)
+
+        if value in (None, ''):
+            return None
+        if isinstance(value, IP):
+            return value
+        try:
+            return IP(value)
+        except ValueError, e:
+            raise forms.ValidationError(e)
+
+
+mac_re = re.compile(r'^(([A-F0-9]{2}:){5}[A-F0-9]{2})$')
+
+class MACAddressFormField(forms.RegexField):
+    default_error_messages = {
+        'invalid': u'Enter a valid MAC address.',
+    }
+
+    def __init__(self, *args, **kwargs):
+        super(MACAddressFormField, self).__init__(mac_re, *args, **kwargs)