Skip to content

Commit df5bbee

Browse files
committed
Fix filename parsing for files with multiple dots
1 parent ba1a79e commit df5bbee

1 file changed

Lines changed: 22 additions & 22 deletions

File tree

mkconcore.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ def cleanup_script_files():
706706
for node in nodes_dict:
707707
containername,sourcecode = nodes_dict[node].split(':')
708708
if len(sourcecode)!=0 and sourcecode.find(".")!=-1: #3/28/21
709-
dockername,langext = sourcecode.split(".")
709+
dockername,langext = sourcecode.rsplit(".", 1)
710710
dockerfile_path = os.path.join(outdir, "src", f"Dockerfile.{dockername}")
711711
if not os.path.exists(dockerfile_path): # 3/30/21
712712
try:
@@ -750,7 +750,7 @@ def cleanup_script_files():
750750
for node in nodes_dict:
751751
containername,sourcecode = nodes_dict[node].split(':')
752752
if len(sourcecode)!=0 and sourcecode.find(".")!=-1: #3/28/21
753-
dockername,langext = sourcecode.split(".")
753+
dockername,langext = sourcecode.rsplit(".", 1)
754754
fbuild.write("mkdir docker-"+dockername+"\n")
755755
fbuild.write("cd docker-"+dockername+"\n")
756756
fbuild.write("cp ../src/Dockerfile."+dockername+" Dockerfile\n")
@@ -788,7 +788,7 @@ def cleanup_script_files():
788788
# Use safe_container
789789
frun.write(DOCKEREXE+' run --name='+safe_container+volswr[i]+volsro[i]+" "+DOCKEREPO+"/docker-"+shlex.quote(sourcecode)+"&\n")
790790
else:
791-
dockername,langext = sourcecode.split(".")
791+
dockername,langext = sourcecode.rsplit(".", 1)
792792
logging.debug(f"Generating Docker run command for {dockername}: {DOCKEREXE} run --name={containername+volswr[i]+volsro[i]} docker-{dockername}")
793793
# Use safe_container
794794
frun.write(DOCKEREXE+' run --name='+safe_container+volswr[i]+volsro[i]+" docker-"+shlex.quote(dockername)+"&\n")
@@ -800,8 +800,8 @@ def cleanup_script_files():
800800
for node in nodes_dict:
801801
containername,sourcecode = nodes_dict[node].split(':')
802802
if len(sourcecode)!=0:
803-
#dockername,langext = sourcecode.split(".")
804-
dockername = sourcecode.split(".")[0] # 3/28/21
803+
#dockername,langext = sourcecode.rsplit(".", 1)
804+
dockername = sourcecode.rsplit(".", 1)[0] # 3/28/21
805805
safe_container = shlex.quote(containername)
806806
fstop.write(DOCKEREXE+' stop '+safe_container+"\n")
807807
fstop.write(DOCKEREXE+' rm '+safe_container+"\n")
@@ -813,7 +813,7 @@ def cleanup_script_files():
813813
for node in nodes_dict:
814814
containername,sourcecode = nodes_dict[node].split(':')
815815
if len(sourcecode)!=0:
816-
dockername = sourcecode.split(".")[0] #3/28/21
816+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
817817
writeedges = volswr[i]
818818
while writeedges.find(":") != -1:
819819
#scape volume path using shlex.quote for Docker commands (defense-in-depth)
@@ -833,7 +833,7 @@ def cleanup_script_files():
833833
for node in nodes_dict:
834834
containername,sourcecode = nodes_dict[node].split(':')
835835
if len(sourcecode)!=0:
836-
dockername = sourcecode.split(".")[0] #3/28/21
836+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
837837
writeedges = volswr[i]
838838
while writeedges.find(":") != -1:
839839
fmaxtime.write(' -v ')
@@ -850,7 +850,7 @@ def cleanup_script_files():
850850
for node in nodes_dict:
851851
containername,sourcecode = nodes_dict[node].split(':')
852852
if len(sourcecode)!=0:
853-
dockername = sourcecode.split(".")[0] #3/28/21
853+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
854854
writeedges = volswr[i]
855855
while writeedges.find(":") != -1:
856856
fmaxtime.write('sudo docker cp concore.maxtime concore:/')
@@ -876,7 +876,7 @@ def cleanup_script_files():
876876
for node in nodes_dict:
877877
containername,sourcecode = nodes_dict[node].split(':')
878878
if len(sourcecode)!=0:
879-
dockername = sourcecode.split(".")[0] #3/28/21
879+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
880880
writeedges = volswr[i]
881881
while writeedges.find(":") != -1:
882882
fparams.write(' -v ')
@@ -893,7 +893,7 @@ def cleanup_script_files():
893893
for node in nodes_dict:
894894
containername,sourcecode = nodes_dict[node].split(':')
895895
if len(sourcecode)!=0:
896-
dockername = sourcecode.split(".")[0] #3/28/21
896+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
897897
writeedges = volswr[i]
898898
while writeedges.find(":") != -1:
899899
fparams.write('sudo docker cp concore.params concore:/')
@@ -918,7 +918,7 @@ def cleanup_script_files():
918918
for node in nodes_dict:
919919
containername,sourcecode = nodes_dict[node].split(':')
920920
if len(sourcecode)!=0:
921-
dockername = sourcecode.split(".")[0] #3/28/21
921+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
922922
writeedges = volswr[i]
923923
while writeedges.find(":") != -1:
924924
funlock.write(' -v ')
@@ -935,7 +935,7 @@ def cleanup_script_files():
935935
for node in nodes_dict:
936936
containername,sourcecode = nodes_dict[node].split(':')
937937
if len(sourcecode)!=0:
938-
dockername = sourcecode.split(".")[0] #3/28/21
938+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
939939
writeedges = volswr[i]
940940
while writeedges.find(":") != -1:
941941
funlock.write('sudo docker cp ~/concore.apikey concore:/')
@@ -955,7 +955,7 @@ def cleanup_script_files():
955955
for node in nodes_dict:
956956
containername,sourcecode = nodes_dict[node].split(':')
957957
if len(sourcecode)!=0 and sourcecode.find(".")!=-1: #3/28/21
958-
dockername,langext = sourcecode.split(".")
958+
dockername,langext = sourcecode.rsplit(".", 1)
959959
# safe_container added to debug line (POSIX)
960960
safe_container = shlex.quote(containername)
961961
safe_image = shlex.quote("docker-" + dockername) # escape docker image name
@@ -984,7 +984,7 @@ def cleanup_script_files():
984984
if sourcecode.find(".")==-1:
985985
logging.error("cannot pull container "+sourcecode+" with control core type "+concoretype) #3/28/21
986986
quit()
987-
dockername,langext = sourcecode.split(".")
987+
dockername,langext = sourcecode.rsplit(".", 1)
988988
fbuild.write('mkdir '+containername+"\n")
989989
source_subdir = os.path.dirname(sourcecode).replace("\\", "/")
990990
if source_subdir:
@@ -1041,7 +1041,7 @@ def cleanup_script_files():
10411041
containername,sourcecode = edges_dict[edges][0].split(':')
10421042
outcount[nodes_num[edges_dict[edges][0]]] += 1
10431043
if len(sourcecode)!=0:
1044-
dockername,langext = sourcecode.split(".")
1044+
dockername,langext = sourcecode.rsplit(".", 1)
10451045
fbuild.write('cd '+containername+"\n")
10461046
if concoretype=="windows":
10471047
fbuild.write("mklink /J out"+str(outcount[nodes_num[edges_dict[edges][0]]])+" ..\\"+str(edges)+"\n")
@@ -1054,7 +1054,7 @@ def cleanup_script_files():
10541054
for node in nodes_dict:
10551055
containername,sourcecode = nodes_dict[node].split(':')
10561056
if len(sourcecode)!=0:
1057-
dockername,langext = sourcecode.split(".")
1057+
dockername,langext = sourcecode.rsplit(".", 1)
10581058
fbuild.write('cd '+containername+"\n")
10591059
for pair in indir[i]:
10601060
volname,dirname = pair.split(':/')
@@ -1075,7 +1075,7 @@ def cleanup_script_files():
10751075
for node in nodes_dict:
10761076
containername,sourcecode = nodes_dict[node].split(':')
10771077
if len(sourcecode)!=0:
1078-
dockername,langext = sourcecode.split(".")
1078+
dockername,langext = sourcecode.rsplit(".", 1)
10791079
if not (langext in ["py","m","sh","cpp","v"]): # 6/22/21
10801080
logging.error(f"Extension .{langext} is unsupported")
10811081
quit()
@@ -1191,7 +1191,7 @@ def cleanup_script_files():
11911191
for node in nodes_dict:
11921192
containername,sourcecode = nodes_dict[node].split(':')
11931193
if len(sourcecode)!=0:
1194-
dockername = sourcecode.split(".")[0] # 3/28/21
1194+
dockername = sourcecode.rsplit(".", 1)[0] # 3/28/21
11951195
if concoretype=="windows":
11961196
q_container = f'"{containername}"'
11971197
fstop.write('cmd /C '+q_container+"\\concorekill\n")
@@ -1209,7 +1209,7 @@ def cleanup_script_files():
12091209
for node in nodes_dict:
12101210
containername,sourcecode = nodes_dict[node].split(':')
12111211
if len(sourcecode)!=0:
1212-
dockername = sourcecode.split(".")[0] #3/28/21
1212+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
12131213
writeedges = volswr[i]
12141214
while writeedges.find(":") != -1:
12151215
path_part = writeedges.split(":")[0].split("-v")[1].strip()
@@ -1229,7 +1229,7 @@ def cleanup_script_files():
12291229
for node in nodes_dict:
12301230
containername,sourcecode = nodes_dict[node].split(':')
12311231
if len(sourcecode)!=0:
1232-
dockername = sourcecode.split(".")[0] #3/28/21
1232+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
12331233
writeedges = volswr[i]
12341234
while writeedges.find(":") != -1:
12351235
path_part = writeedges.split(":")[0].split("-v")[1].strip()
@@ -1247,7 +1247,7 @@ def cleanup_script_files():
12471247
for node in nodes_dict:
12481248
containername,sourcecode = nodes_dict[node].split(':')
12491249
if len(sourcecode)!=0:
1250-
dockername = sourcecode.split(".")[0] #3/28/21
1250+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
12511251
writeedges = volswr[i]
12521252
while writeedges.find(":") != -1:
12531253
path_part = writeedges.split(":")[0].split("-v")[1].strip()
@@ -1265,7 +1265,7 @@ def cleanup_script_files():
12651265
for node in nodes_dict:
12661266
containername,sourcecode = nodes_dict[node].split(':')
12671267
if len(sourcecode)!=0:
1268-
dockername = sourcecode.split(".")[0] #3/28/21
1268+
dockername = sourcecode.rsplit(".", 1)[0] #3/28/21
12691269
writeedges = volswr[i]
12701270
while writeedges.find(":") != -1:
12711271
path_part = writeedges.split(":")[0].split("-v")[1].strip()

0 commit comments

Comments
 (0)