Exemplo n.º 1
0
    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"
Exemplo n.º 2
0
    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"