def handle(self, filepath, **options): if not os.path.isfile(filepath): raise CommandError("Filepath %r doesn't exist." % filepath) self.verbosity = int(options.get('verbosity', 1)) # Ort.objects.all().delete() # Person.objects.all().delete() # Firma.objects.all().delete() # KundeLieferant.objects.all().delete() for line in _get_dictlist(filepath): if self.verbosity >= 3: self.stdout.write("_" * 80) self.stdout.write("\n") if line["ID.1"] == "" or line["Vorname"] == "sonstiges": self.stdout.write("SKIP:") if self.verbosity >= 3: self.stdout.write(pprint.pformat(line)) else: self.stdout.write(repr(line)) self.stdout.write("\n") continue if self.verbosity >= 3: self.stdout.write(pprint.pformat(line)) self.stdout.write("\n") self.stdout.write(" -" * 40) self.stdout.write("\n") kundennummer = int(line["ID.1"]) person, firma = self.get_kunden_obj(line) if line['N.'] == "j": anzeigen = True else: anzeigen = False stammdaten = KundeLieferantStammdaten( person=person, firma=firma, anzeigen=anzeigen, ) stammdaten.save() reversion.revision.comment = "KRB import" print "KundeLieferantStammdaten erstellt:", stammdaten kunde, created = Kunde.objects.get_or_create( kunden_nr=kundennummer, defaults={"stammdaten":stammdaten} ) if created: self.stdout.write("Neuer Kunde wird erstellt: %s\n" % kunde) else: self.stdout.write("Kunde schon vorhanden: %s\n" % kunde) kunde.save() reversion.revision.comment = "KRB import"
def handle(self, filepath, **options): if not os.path.isfile(filepath): raise CommandError("Filepath %r doesn't exist." % filepath) self.verbosity = int(options.get('verbosity', 1)) # Ort.objects.all().delete() # Person.objects.all().delete() # Firma.objects.all().delete() # Lieferant.objects.all().delete() for line in _get_dictlist(filepath): if self.verbosity >= 3: self.stdout.write("_" * 80) self.stdout.write("\n") if line["name"] in ("", "sonstiges"): self.stdout.write("SKIP:") if self.verbosity >= 3: self.stdout.write(pprint.pformat(line)) else: self.stdout.write(repr(line)) self.stdout.write("\n") continue if self.verbosity >= 3: self.stdout.write(pprint.pformat(line)) self.stdout.write("\n") self.stdout.write(" -" * 40) self.stdout.write("\n") if line["nr"]: nummer = int(line["nr"]) else: nummer = None orts_name = line["Ort"] if orts_name: ort, created = Ort.objects.get_or_create(name=orts_name) if created and self.verbosity >= 3: self.stdout.write("Ort erstellt: %s\n" % ort) elif self.verbosity >= 3: self.stdout.write("Vorhanden Ort genutzt: %s\n" % ort) else: ort = None if line["PLZ"]: plz = int(line["PLZ"]) else: plz = None firma, created = Firma.objects.get_or_create( name1=line["name"], defaults={ "strasse": line["Strasse"], "plz": plz, "ort": ort, } ) if created: self.stdout.write("neue Firma erstellt: %s\n" % firma) else: self.stdout.write("Vorhandene Firma genutzt: %s\n" % firma) firma.save() reversion.revision.comment = "KRB lieferanten import" stammdaten = KundeLieferantStammdaten(firma=firma) stammdaten.save() reversion.revision.comment = "KRB import" print "KundeLieferantStammdaten erstellt:", stammdaten lieferant, created = Lieferant.objects.get_or_create( lieferranten_nr=nummer, defaults={"stammdaten":stammdaten} ) if created: self.stdout.write("Neuer Lieferant wird erstellt: %s\n" % lieferant) else: self.stdout.write("Lieferant schon vorhanden: %s\n" % lieferant) continue info = [] for i in range(2): key = "info%i" % (i + 1) if line[key]: info.append(line[key]) info = "\n".join(info) if info: lieferant.notizen = info lieferant.firma = firma lieferant.save() reversion.revision.comment = "KRB lieferanten import"