[Checkins] SVN: z3c.iban/trunk/src/z3c/iban/ Added BIC, removed configure.zcml as unneeded
Hermann Himmelbauer
dusty at qwer.tk
Wed Nov 5 10:35:29 EST 2008
Log message for revision 92799:
Added BIC, removed configure.zcml as unneeded
Changed:
D z3c.iban/trunk/src/z3c/iban/configure.zcml
U z3c.iban/trunk/src/z3c/iban/field.py
U z3c.iban/trunk/src/z3c/iban/interfaces.py
-=-
Deleted: z3c.iban/trunk/src/z3c/iban/configure.zcml
===================================================================
--- z3c.iban/trunk/src/z3c/iban/configure.zcml 2008-11-05 15:12:47 UTC (rev 92798)
+++ z3c.iban/trunk/src/z3c/iban/configure.zcml 2008-11-05 15:35:28 UTC (rev 92799)
@@ -1,12 +0,0 @@
-<configure
- xmlns="http://namespaces.zope.org/zope">
-
- <adapter
- factory="z3c.form.browser.text.TextFieldWidget"
- for="z3c.iban.interfaces.IIBAN
- z3c.form.interfaces.IFormLayer"
- />
-
-
-</configure>
-
Modified: z3c.iban/trunk/src/z3c/iban/field.py
===================================================================
--- z3c.iban/trunk/src/z3c/iban/field.py 2008-11-05 15:12:47 UTC (rev 92798)
+++ z3c.iban/trunk/src/z3c/iban/field.py 2008-11-05 15:35:28 UTC (rev 92799)
@@ -26,12 +26,28 @@
from z3c.iban import interfaces
-class IBAN(zope.schema.Orderable, zope.schema.Field):
+class IBAN(zope.schema.TextLine):
zope.interface.implements(interfaces.IIBAN)
def _validate(self, value):
if not valid(value):
- raise zope.schema.ValidationError(
- "Value is no valid IBAN")
+ raise interfaces.NotValidIBAN(value)
super(IBAN, self)._validate(value)
+
+class BIC(zope.schema.TextLine):
+ zope.interface.implements(interfaces.IBIC)
+
+ def _validate(self, value):
+ value = value.strip()
+ if len(value) != 8 and len(value) != 11:
+ # length must be 8 or 11 characters
+ raise interfaces.NotValidBIC(value)
+ if not value[:6].isalpha():
+ # Characters 0-6 must be letters
+ raise interfaces.NotValidBIC(value)
+ if not value[6:8].isalnum():
+ # Characters 7,8 must me alphanumeric
+ raise interfaces.NotValidBIC(value)
+ super(BIC, self)._validate(value)
+
Modified: z3c.iban/trunk/src/z3c/iban/interfaces.py
===================================================================
--- z3c.iban/trunk/src/z3c/iban/interfaces.py 2008-11-05 15:12:47 UTC (rev 92798)
+++ z3c.iban/trunk/src/z3c/iban/interfaces.py 2008-11-05 15:35:28 UTC (rev 92799)
@@ -23,3 +23,14 @@
class IIBAN(interfaces.IField):
"""IBAN Field"""
+
+class NotValidIBAN(zope.schema.ValidationError):
+ __doc__ = _(u"Value is no valid IBAN")
+
+
+class IBIC(interfaces.IField):
+ """BIC Field"""
+
+class NotValidBIC(zope.schema.ValidationError):
+ __doc__ = _(u"Value is no valid BIC")
+
\ No newline at end of file
More information about the Checkins
mailing list