1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| import shutil
def is_int_long_float_complex(string):
try:
int(string)
return True
except ValueError: pass
try:
float(string)
return True
except ValueError: pass
try:
complex(string)
return True
except ValueError: pass
try:
long(string)
return True
except ValueError: pass
return False
locname = fdmContext["LOCNAME"]
if locname[:3] == "IG_" or locname[:6] == "GL_FRA":
infilename = fdmContext["APPROOTDIR"] + "/" + fdmContext["FILEDIR"] + "/" + fdmContext["FILENAME"]
outfilename = fdmContext["APPROOTDIR"] + "/" + fdmContext["FILEDIR"] + "/" + fdmContext["FILENAME"] + ".modif"
copyfilename = fdmContext["APPROOTDIR"] + "/" + fdmContext["FILEDIR"] + "/" + fdmContext["FILENAME"] + ".bak"
shutil.copyfile(infilename, copyfilename)
infile = open(copyfilename, "r")
outfile = open(outfilename, "w")
for line in infile:
line = line.strip()
if locname[:6] == "IG_FRA":
column = line.split(';',9)
outfile.write(column[0] + ";" + "IG" + column[1] + ";" + column[2] + ";" + column[3] + ";None;" + column[5] + ";" + column[6] + ";" + column[7] + "\n")
if column[5] != '':
outfile.write(column[0] + ";" + "IG" + column[1] + ";" + column[2] + ";" + column[3] + ";" + column[4] + ";" + column[5] + ";" + column[6] + ";" + column[8] + "\n")
elif locname[:3] == "IG_":
column = line.split(";",9)
if is_int_long_float_complex(line[7]) and is_int_long_float_complex(line[8]):
outfile.write(column[0] + ";" + column[1] + ";" + column[2] + ";" + column[3] + ";None;" + column[5] + ";" + column[6] + ";" + column[7] + "\n")
if column[8] != column[7]:
outfile.write(column[0] + ";" + column[1] + ";" + column[2] + ";" + column[3] + ";" + column[4] + ";" + column[5] + ";" + column[6] + ";" + column[8] + "\n")
else:
column = line.split(";",7)
outfile.write(column[0] + ";" + "GL" + column[1] + ";" + column[2] + ";" + column[3] + ";" + column[4] + ";" + column[5] + ";" +column[6] + "\n")
infile.close()
outfile.close()
shutil.copyfile(outfilename, infilename) |
Partager