def fake_altdaten(self, csv_file, fields):
     id=Altdaten().getNewId()
     jahr=str(self.choose_date(Date(1999), Date(2006)).year)
     altd = Altdaten()
     altd.init(
         id=id,
         vorname=choice(self.vornamen),
         name=choice(self.namen),
         geburtsdatum=str(self.choose_date(Date(1989,3,1), today().add_month(-24))),
         geschlecht=choice(('m', 'w')),
         jahr=jahr,
         fallnummer=("%s%03d" % (jahr, choice(range(1,1000)))),
         mitarbeiter="Mitarb%s" % id,
         strasse=choice(self.strassen),
         hausnummer=str(randrange(1, 200)),
         plz=str(randrange(10000, 99999)),
         ort=choice(self.orte),
         telefon1=str(randrange(10001, 99999999)),
         telefon2=str(randrange(10001, 99999999)),
         memo=("Memo für Altdaten id=%s. "
         "äöüÄÖÜß Hier kann man noch eine Menge über den alten Fall reinschreiben. "
         "Auch längere Texte. " % id)[:randrange(25,150)]
         )
     csv = ';'.join([('"%%(%s)s"' % a) % altd for a in fields])
     csv_file.write(csv + '\r\n')
     altd.insert()
     log("Altdaten %s" % id)
     return altd
 def read_data(self, f):
     #print 'FILE: ', f, type(f)
     data = []
     feldnamen = self.get_altdaten_felder()[1:]
     size = len(feldnamen)
     reader = csv.reader(f.readlines(),
                         delimiter=';',
                         doublequote=True,
                         quotechar='"',
                         )
     try:
         erste_zeile = reader.next()
     except StopIteration:
         self.csv_lese_fehler("Keine Daten gefunden")
         
     #print 'ERSTE_ZEILE: ', erste_zeile
     if size != len(erste_zeile):
         self.csv_lese_fehler("Anzahl der Feldnamen in der ersten Zeile stimmt nicht", 1,
                              erste_zeile)
     for ist, soll in zip(erste_zeile, feldnamen):
         if ist != soll:
             self.csv_lese_fehler("Erste Zeile mit den Feldnamen stimmt nicht "
                                  "mit Feldnamen überein", 1, erste_zeile)
     for i, row in enumerate(reader):
         #print 'ZEILE: ', row
         if size != len(row):
             self.csv_lese_fehler("Anzahl der Felder in Zeile %(znr)s stimmt nicht",
                                  i+2, row)
         dic = dict(zip(erste_zeile, row))
         dic = self.validate_normalize_altdaten(dic, i+2, row)
         dic['id'] = i+2
         altd = Altdaten()
         altd.init(**dic)
         data.append(altd)
     return data