Changeset 4968
- Timestamp:
- 04/08/07 21:38:07 (2 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/localflavor/fi/forms.py
r4868 r4968 27 27 super(FISocialSecurityNumber, self).clean(value) 28 28 if value in EMPTY_VALUES: 29 return u''30 29 return u'' 30 31 31 checkmarks = "0123456789ABCDEFHJKLMNPRSTUVWXY" 32 32 result = re.match(r"""^ … … 36 36 [A+-] 37 37 (?P<serial>(\d{3})) 38 (?P<chec hsum>[%s])$""" % checkmarks, value, re.VERBOSE | re.IGNORECASE)38 (?P<checksum>[%s])$""" % checkmarks, value, re.VERBOSE | re.IGNORECASE) 39 39 if not result: 40 40 raise ValidationError(gettext(u'Enter a valid Finnish social security number.')) 41 checksum = int(result.groupdict()['date'] + result.groupdict()['serial'])42 43 if checkmarks[checksum % len(checkmarks)] == result.groupdict()['chechsum'].upper():41 gd = match.groupdict() 42 checksum = int(gd['date'] + gd['serial']) 43 if checkmarks[checksum % len(checkmarks)] == gd['checksum'].upper(): 44 44 return u'%s' % value.upper() 45 46 45 raise ValidationError(gettext(u'Enter a valid Finnish social security number.')) 47
