X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/SVBaL.git/blobdiff_plain/6704f97cab9a9f497a276792933e511ca199a78b..ac976f055207bbbf89e83b8efa0fa20455f52dc3:/python/sv-merger/sv-merger.py diff --git a/python/sv-merger/sv-merger.py b/python/sv-merger/sv-merger.py index 5e8fce5..aa48d57 100755 --- a/python/sv-merger/sv-merger.py +++ b/python/sv-merger/sv-merger.py @@ -10,6 +10,11 @@ import sys if __name__ == '__main__': pass +def rd_opt_qval(s): + if s[0] == '"': + s = s[1:-1] + return s + numArgs = len(sys.argv) if (numArgs != 4): raise RuntimeError("usage: sv-merger EXPORT DELTA FIELD") @@ -29,7 +34,8 @@ sv_such_spalte = -1 i = 0 for kopf in export_header: - kopf = kopf[1:-1] + if kopf[0] == '"': + kopf = kopf[1:-1] if kopf == 'Freifeldwert_1': sv_pn_spalte = i if kopf == sys.argv[3]: @@ -42,14 +48,15 @@ if sv_such_spalte == -1: raise RuntimeError("S-Verein-Export enthält nicht das gewünschte Datenfeld "+sys.argv[3]) line = dh_delta.readline().rstrip() -delta_header = line.split(";") +delta_header = line.split(",") delta_pn_sp = -1 delta_such_sp = -1 i = 0 for kopf in delta_header: - if kopf == "Partnernummer": + print (kopf) + if rd_opt_qval(kopf) == "Partnernummer": delta_pn_sp = i if kopf == sys.argv[3]: delta_such_sp = i @@ -65,18 +72,27 @@ for line in dh_delta: if len(line.rstrip()): # not a empty line data = line.split(";") - delta[int(data[delta_pn_sp])] = data[delta_such_sp] + if len(data[delta_pn_sp]) == 0: + print("Diese Zeile hat keine Migliedsnummer: ", line) + else: + delta[int(data[delta_pn_sp])] = data[delta_such_sp] for line in dh_export: data = line.rstrip().split(";") - pn = data[sv_pn_spalte][1:-1] - if len(pn): - pn = int(pn) - if pn in delta: - if len(delta[pn]): - if data[sv_such_spalte] != delta[pn]: - data[sv_such_spalte] = delta[pn] - print(";".join(data), file=dh_import) + pn = data[sv_pn_spalte] + if len(pn) == 0: + print("Diese Zeile (export) hat keine Migliedsnummer: ", line) + else: + if pn[0] == '"': + pn = pn[1:-1] + pn = int(pn) + if pn in delta: + if len(delta[pn]): + if data[sv_such_spalte] != delta[pn]: + data[sv_such_spalte] = delta[pn] + print(";".join(data), file=dh_import) + else: + print(f"{pn} fehlt in delta-Datei") dh_export.close() dh_delta.close()