예제 #1
0
 def fake_adresse(self, obj):
     if config.STRASSENKATALOG:
         obj['strkat_on'] = 1
         st = choice(self.strkat)
         obj['strid'] = str(st['id'])
         obj['str'] = st['name']
         obj['ort'] = st['ort']
         von, bis = st['von'], st['bis']
         if von and bis:
             vnummer =  split_hausnummer(von)[0]
             bnummer =  split_hausnummer(bis)[0]
             if vnummer == bnummer:
                 obj['hsnr'] = von
             else:
                 assert vnummer < bnummer
                 nr = randrange(vnummer, bnummer+1, 2)
                 if nr == vnummer:
                     nr = von
                 elif nr == bnummer:
                     nr = bis
                 obj['hsnr'] = str(nr)
         else:
             assert von == bis == None
             obj['hsnr'] = str(randrange(1, 200))
         obj['plz'] = st['plz']
         #print 'STRASSENKATALOG:', config.STRASSENKATALOG
     else:
         obj['str'] = choice(self.strassen)
         obj['hsnr'] = str(randrange(1, 200))
         obj['plz'] = "%05d" % randrange(16000, 99999)
         obj['plraum'] = "%08d" % randrange(60, 61+int(self.n_akten**.35))
         obj['ort'] = choice(self.orte)
     #print 'FAKE_ADRESSE', obj['hsnr'], type(obj['hsnr'])
     log('FAKE ADRESSE: ort: %(ort)s str: %(str)s hsnr: %(hsnr)s plz: %(plz)s' % obj)
예제 #2
0
 def strassenkatalog_reparieren(self):
     strassen_list = StrassenkatalogNeuList(where='von IS NOT NULL')
     from ebkus.html.strkat import split_hausnummer
     count = 0
     for s in strassen_list:
         try:
             vn, vb, vg = split_hausnummer(s['von'])
             bn, bb, bg = split_hausnummer(s['bis'])
             s.update({'von': "%03d%s" % (vn, vb.upper()),
                       'bis': "%03d%s" % (bn, bb.upper()),
                 })
             count += 1
         except:
             pass
     logging.info("%s Eintraege des Strassenkatalogs repariert" % count)
예제 #3
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