Ejemplo n.º 1
0
 def validate_normalize_altdaten(self, dic, znr, daten):
     strasse = dic.get('strasse', '')
     if strasse:
         for end in ('trasse', 'traße'):
             if strasse.endswith(end):
                 i = strasse.index(end)
                 strasse = strasse[:i] + 'tr.'
         dic['strasse'] = strasse
     gb = dic.get('geburtsdatum')
     if gb:
         try:
             d,m,j = [int(x) for x in gb.split('.')]
             date = Date(j,m,d)
             if not date.check():
                 raise Exception()
             dic['geburtsdatum'] = str(date)
         except:
             self.csv_lese_fehler('Fehler im Geburtsdatum: %s' % gb, znr, daten)
     gs = dic.get('geschlecht')
     if gs:
         if gs not in ('m', 'w', 'M', 'W'):
             self.csv_lese_fehler('Fehler im Geschlecht: %s' % gs, znr, daten)
         dic['geschlecht'] = gs.lower()
     jahr = dic.get('jahr')
     if jahr:
         try:
             assert 1980 < int(jahr) < today().year
         except:
             self.csv_lese_fehler('Fehler im Jahr: %s' % jahr, znr, daten)
     plz = dic.get('plz')
     if plz:
         try:
             assert 10000 < int(plz) < 99999
         except:
             self.csv_lese_fehler('Fehler in der Postleitzahl: %s' % plz, znr, daten)
     hausnummer = dic.get('hausnummer')
     if hausnummer:
         try:
             nummer, buchstabe, gu = split_hausnummer(hausnummer)
             dic['hausnummer'] = "%s%s" % (nummer, buchstabe.upper())
         except:
             self.csv_lese_fehler('Fehler in Hausnummer: %s' % hausnummer, znr, daten)
     return dic