# HG changeset patch # User Sandro Knauß # Date 1329306956 -3600 # Node ID 374f34025fa1bd1d447b114b067cee5679334220 # Parent 6d6890f7e3f89a3b904586fa6a63f5411147dbad validator now deleting doubles diff -r 6d6890f7e3f8 -r 374f34025fa1 iro/validate.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): diff -r 6d6890f7e3f8 -r 374f34025fa1 tests/email_validate.py --- 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"]) + diff -r 6d6890f7e3f8 -r 374f34025fa1 tests/telnumber.py --- 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)