| Total Complexity | 7 |
| Total Lines | 44 |
| Duplicated Lines | 0 % |
| Changes | 2 | ||
| Bugs | 0 | Features | 0 |
| 1 | # -*- coding: utf-8 -*- |
||
| 12 | class CadasterSchemaNode(colander.MappingSchema): |
||
| 13 | |||
| 14 | afdeling = colander.SchemaNode( |
||
| 15 | colander.String(50), |
||
| 16 | validator=colander.Length(1, 50), |
||
| 17 | missing=None |
||
| 18 | ) |
||
| 19 | |||
| 20 | sectie = colander.SchemaNode( |
||
| 21 | colander.String(50), |
||
| 22 | validator=colander.Length(1, 50), |
||
| 23 | missing=None |
||
| 24 | ) |
||
| 25 | |||
| 26 | perceel = colander.SchemaNode( |
||
| 27 | colander.String(50), |
||
| 28 | validator=colander.Length(1, 50), |
||
| 29 | missing=None |
||
| 30 | ) |
||
| 31 | |||
| 32 | capakey = colander.SchemaNode( |
||
| 33 | colander.String(50), |
||
| 34 | validator=colander.Length(1, 50) |
||
| 35 | ) |
||
| 36 | |||
| 37 | @staticmethod |
||
| 38 | def preparer(parcel): |
||
| 39 | if parcel is None or not parcel: |
||
| 40 | return null # pragma: no cover |
||
| 41 | return parcel |
||
| 42 | |||
| 43 | @staticmethod |
||
| 44 | def validator(node, parcel): |
||
| 45 | capakey = parcel.get('capakey', None) |
||
| 46 | match = False |
||
| 47 | if capakey: |
||
| 48 | match = re.match( |
||
| 49 | r"^[0-9]{5}[A-Z]{1}([0-9]{4})\/([0-9]{2})([A-Z\_]{1})([0-9]{3})$", |
||
| 50 | capakey |
||
| 51 | ) |
||
| 52 | if not capakey or not match: |
||
| 53 | raise colander.Invalid( |
||
| 54 | node, |
||
| 55 | 'Ongeldige capakey' |
||
| 56 | ) |
||
| 57 |