validator now deleting doubles devel
authorSandro Knauß <knauss@netzguerilla.net>
Wed, 15 Feb 2012 12:55:56 +0100
branchdevel
changeset 167 374f34025fa1
parent 166 6d6890f7e3f8
child 168 42b55855e3a6
validator now deleting doubles
iro/validate.py
tests/email_validate.py
tests/telnumber.py
--- a/iro/validate.py	Tue Feb 14 21:31:06 2012 +0100
+++ b/iro/validate.py	Wed Feb 15 12:55:56 2012 +0100
@@ -54,7 +54,9 @@
     ret = []
     for v in value:
         try:
-            ret.append(Telnumber(v))
+            tel=Telnumber(v)
+            if tel not in ret:
+                ret.append(tel)
         except InvalidTel, e:
             e.field=field
             raise e
@@ -114,7 +116,8 @@
             i += 1
         if c%2 == 0 and c > 1:                        #no single quote allowed
             raise InvalidMail(v,field)
-        ret.append(v)
+        if v not in ret:
+            ret.append(v)
     return ret
 
 def validate(kwd,func, need=True,*args,**kargs):
--- a/tests/email_validate.py	Tue Feb 14 21:31:06 2012 +0100
+++ b/tests/email_validate.py	Wed Feb 15 12:55:56 2012 +0100
@@ -51,3 +51,7 @@
         '''invalid Domainname'''
         with self.assertRaises(InvalidMail) as e:
             vEmail(['x@&.de'],None)
+
+    def testDoubles(self):
+        self.assertEqual(vEmail(['x@test.de','x@test.de'],None),["x@test.de"])
+
--- a/tests/telnumber.py	Tue Feb 14 21:31:06 2012 +0100
+++ b/tests/telnumber.py	Wed Feb 15 12:55:56 2012 +0100
@@ -27,6 +27,12 @@
             vTel(['01234']+numbers, None)
         self.failUnlessEqual(e.exception.number,numbers[0])
 
+    def testDoubles(self):
+        ret = vTel(["0123/456(78)","+4912345678","004912345678"], None)
+        x=[Telnumber('+4912345678')]
+        self.failUnlessEqual(ret,x)
+
+
     def equalNumber(self, tel1, tel2):
         self.failUnlessEqual(tel1.number, tel2.number)
         self.failUnlessEqual(tel1.land, tel2.land)