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)
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)
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