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")
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]:
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
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()