def transfer_konten(): # Konto.objects.all().delete() buchungen, konten = get_csv_tables(CSV_DATEI) exist_mwst = tuple([i[0] for i in MWST]) dictlist = get_dictlist(konten, used_fieldnames=None) for line in dictlist: # pprint(line) datev_nummer = int(line['Konto']) konto_name = line['Listenname'] mwst = None try: mwst_string = PROZ_RE.findall(konto_name)[0] except IndexError: pass else: mwst = int(mwst_string) if mwst in exist_mwst: print "MwSt: %s%%" % mwst try: konto = Konto.objects.get(datev_nummer=datev_nummer) except Konto.DoesNotExist: konto = Konto( datev_nummer=datev_nummer, name=konto_name, mwst=mwst, ) add_message(konto, "Neues Konto aus MMS import") konto.save() print "Neues Konto erstellt:", konto else: print "Konto besteht schon:", konto must_save = False if konto_name != konto.name: print " *** andere Bezeichnung:" print konto_name, "!=", konto.name print "Setzte neuen Namen" konto.name = konto_name add_message(konto, "Neuer Konto Namen aus MMS import") konto.notizen += "\n neuer Konto namen aus MMS import" must_save = True if mwst != konto.mwst: print " *** andere MwSt.:" print mwst, "!=", konto.mwst print "setzte neue MwSt:" konto.mwst = mwst add_message(konto, "Neue MwSt.Satz aus MMS import") konto.notizen += "\n neue MwSt.Satz aus MMS import" must_save = True if must_save: konto.save() print "-" * 80
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)) buchungen, konten = get_csv_tables(filepath) self._insert_konten(konten) self.status_bezahlt = Status.objects.get(bezeichnung="bezahlt") self._insert_buchungen(buchungen)
def transfer_buchungen(): # Konto.objects.all().delete() buchungen, konten = get_csv_tables(CSV_DATEI) exist_mwst = tuple([i[0] for i in MWST]) dictlist = get_dictlist(buchungen, used_fieldnames=None) for line in dictlist: kommentar = line["Kommentar"] print "_" * 79 # pprint(line) # print " -"*40 date_string = line["Datum"] # print "date_string:", date_string datum = datetime.strptime(date_string, "%d.%m.%Y").date() # datum = date.strptime(date_string, "%d.%m.%Y") raw_summe = line["Betrag"] summe = _get_decimal(raw_summe) konto_nr = int(line["Konto"]) # print "konto_nr:", konto_nr, type(konto_nr) try: konto = Konto.objects.get(datev_nummer=konto_nr) except Konto.DoesNotExist, err: print "*" * 79 print "Fehler: Konto unbekannt:", err # print "Erstelle neuen Eintrag!" return ggkto = line["GGKto"] if len(ggkto) > 4: # SteuerSchlüssel drin stsl_nr = int(ggkto[0]) stsl = StSl.objects.get(id=stsl_nr) # print u"Steuerschlüssel:", stsl ggkto = ggkto[1:] else: stsl = None Gkonto_nr = int(ggkto) try: ggkto = Konto.objects.get(datev_nummer=Gkonto_nr) except Konto.DoesNotExist, err: print "*" * 79 print "Fehler: GKonto unbekannt:", err return