@@ -707,7 +707,7 @@ def cleanup_script_files():
707707 for node in nodes_dict :
708708 containername ,sourcecode = nodes_dict [node ].split (':' )
709709 if len (sourcecode )!= 0 and sourcecode .find ("." )!= - 1 : #3/28/21
710- dockername ,langext = sourcecode .split ("." )
710+ dockername ,langext = sourcecode .rsplit ("." , 1 )
711711 dockerfile_path = os .path .join (outdir , "src" , f"Dockerfile.{ dockername } " )
712712 if not os .path .exists (dockerfile_path ): # 3/30/21
713713 try :
@@ -751,7 +751,7 @@ def cleanup_script_files():
751751 for node in nodes_dict :
752752 containername ,sourcecode = nodes_dict [node ].split (':' )
753753 if len (sourcecode )!= 0 and sourcecode .find ("." )!= - 1 : #3/28/21
754- dockername ,langext = sourcecode .split ("." )
754+ dockername ,langext = sourcecode .rsplit ("." , 1 )
755755 fbuild .write ("mkdir docker-" + dockername + "\n " )
756756 fbuild .write ("cd docker-" + dockername + "\n " )
757757 fbuild .write ("cp ../src/Dockerfile." + dockername + " Dockerfile\n " )
@@ -789,7 +789,7 @@ def cleanup_script_files():
789789 # Use safe_container
790790 frun .write (DOCKEREXE + ' run --name=' + safe_container + volswr [i ]+ volsro [i ]+ " " + DOCKEREPO + "/docker-" + shlex .quote (sourcecode )+ "&\n " )
791791 else :
792- dockername ,langext = sourcecode .split ("." )
792+ dockername ,langext = sourcecode .rsplit ("." , 1 )
793793 logging .debug (f"Generating Docker run command for { dockername } : { DOCKEREXE } run --name={ containername + volswr [i ]+ volsro [i ]} docker-{ dockername } " )
794794 # Use safe_container
795795 frun .write (DOCKEREXE + ' run --name=' + safe_container + volswr [i ]+ volsro [i ]+ " docker-" + shlex .quote (dockername )+ "&\n " )
@@ -801,8 +801,8 @@ def cleanup_script_files():
801801 for node in nodes_dict :
802802 containername ,sourcecode = nodes_dict [node ].split (':' )
803803 if len (sourcecode )!= 0 :
804- #dockername,langext = sourcecode.split (".")
805- dockername = sourcecode .split ("." )[0 ] # 3/28/21
804+ #dockername,langext = sourcecode.rsplit (".", 1 )
805+ dockername = sourcecode .rsplit ("." , 1 )[0 ] # 3/28/21
806806 safe_container = shlex .quote (containername )
807807 fstop .write (DOCKEREXE + ' stop ' + safe_container + "\n " )
808808 fstop .write (DOCKEREXE + ' rm ' + safe_container + "\n " )
@@ -814,7 +814,7 @@ def cleanup_script_files():
814814 for node in nodes_dict :
815815 containername ,sourcecode = nodes_dict [node ].split (':' )
816816 if len (sourcecode )!= 0 :
817- dockername = sourcecode .split ("." )[0 ] #3/28/21
817+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
818818 writeedges = volswr [i ]
819819 while writeedges .find (":" ) != - 1 :
820820 #scape volume path using shlex.quote for Docker commands (defense-in-depth)
@@ -834,7 +834,7 @@ def cleanup_script_files():
834834 for node in nodes_dict :
835835 containername ,sourcecode = nodes_dict [node ].split (':' )
836836 if len (sourcecode )!= 0 :
837- dockername = sourcecode .split ("." )[0 ] #3/28/21
837+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
838838 writeedges = volswr [i ]
839839 while writeedges .find (":" ) != - 1 :
840840 fmaxtime .write (' -v ' )
@@ -851,7 +851,7 @@ def cleanup_script_files():
851851 for node in nodes_dict :
852852 containername ,sourcecode = nodes_dict [node ].split (':' )
853853 if len (sourcecode )!= 0 :
854- dockername = sourcecode .split ("." )[0 ] #3/28/21
854+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
855855 writeedges = volswr [i ]
856856 while writeedges .find (":" ) != - 1 :
857857 fmaxtime .write ('sudo docker cp concore.maxtime concore:/' )
@@ -877,7 +877,7 @@ def cleanup_script_files():
877877 for node in nodes_dict :
878878 containername ,sourcecode = nodes_dict [node ].split (':' )
879879 if len (sourcecode )!= 0 :
880- dockername = sourcecode .split ("." )[0 ] #3/28/21
880+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
881881 writeedges = volswr [i ]
882882 while writeedges .find (":" ) != - 1 :
883883 fparams .write (' -v ' )
@@ -894,7 +894,7 @@ def cleanup_script_files():
894894 for node in nodes_dict :
895895 containername ,sourcecode = nodes_dict [node ].split (':' )
896896 if len (sourcecode )!= 0 :
897- dockername = sourcecode .split ("." )[0 ] #3/28/21
897+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
898898 writeedges = volswr [i ]
899899 while writeedges .find (":" ) != - 1 :
900900 fparams .write ('sudo docker cp concore.params concore:/' )
@@ -919,7 +919,7 @@ def cleanup_script_files():
919919 for node in nodes_dict :
920920 containername ,sourcecode = nodes_dict [node ].split (':' )
921921 if len (sourcecode )!= 0 :
922- dockername = sourcecode .split ("." )[0 ] #3/28/21
922+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
923923 writeedges = volswr [i ]
924924 while writeedges .find (":" ) != - 1 :
925925 funlock .write (' -v ' )
@@ -936,7 +936,7 @@ def cleanup_script_files():
936936 for node in nodes_dict :
937937 containername ,sourcecode = nodes_dict [node ].split (':' )
938938 if len (sourcecode )!= 0 :
939- dockername = sourcecode .split ("." )[0 ] #3/28/21
939+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
940940 writeedges = volswr [i ]
941941 while writeedges .find (":" ) != - 1 :
942942 funlock .write ('sudo docker cp ~/concore.apikey concore:/' )
@@ -956,7 +956,7 @@ def cleanup_script_files():
956956 for node in nodes_dict :
957957 containername ,sourcecode = nodes_dict [node ].split (':' )
958958 if len (sourcecode )!= 0 and sourcecode .find ("." )!= - 1 : #3/28/21
959- dockername ,langext = sourcecode .split ("." )
959+ dockername ,langext = sourcecode .rsplit ("." , 1 )
960960 # safe_container added to debug line (POSIX)
961961 safe_container = shlex .quote (containername )
962962 safe_image = shlex .quote ("docker-" + dockername ) # escape docker image name
@@ -985,7 +985,7 @@ def cleanup_script_files():
985985 if sourcecode .find ("." )== - 1 :
986986 logging .error ("cannot pull container " + sourcecode + " with control core type " + concoretype ) #3/28/21
987987 quit ()
988- dockername ,langext = sourcecode .split ("." )
988+ dockername ,langext = sourcecode .rsplit ("." , 1 )
989989 fbuild .write ('mkdir ' + containername + "\n " )
990990 source_subdir = os .path .dirname (sourcecode ).replace ("\\ " , "/" )
991991 if source_subdir :
@@ -1042,7 +1042,7 @@ def cleanup_script_files():
10421042 containername ,sourcecode = edges_dict [edges ][0 ].split (':' )
10431043 outcount [nodes_num [edges_dict [edges ][0 ]]] += 1
10441044 if len (sourcecode )!= 0 :
1045- dockername ,langext = sourcecode .split ("." )
1045+ dockername ,langext = sourcecode .rsplit ("." , 1 )
10461046 fbuild .write ('cd ' + containername + "\n " )
10471047 if concoretype == "windows" :
10481048 fbuild .write ("mklink /J out" + str (outcount [nodes_num [edges_dict [edges ][0 ]]])+ " ..\\ " + str (edges )+ "\n " )
@@ -1055,7 +1055,7 @@ def cleanup_script_files():
10551055for node in nodes_dict :
10561056 containername ,sourcecode = nodes_dict [node ].split (':' )
10571057 if len (sourcecode )!= 0 :
1058- dockername ,langext = sourcecode .split ("." )
1058+ dockername ,langext = sourcecode .rsplit ("." , 1 )
10591059 fbuild .write ('cd ' + containername + "\n " )
10601060 for pair in indir [i ]:
10611061 volname ,dirname = pair .split (':/' )
@@ -1076,7 +1076,7 @@ def cleanup_script_files():
10761076for node in nodes_dict :
10771077 containername ,sourcecode = nodes_dict [node ].split (':' )
10781078 if len (sourcecode )!= 0 :
1079- dockername ,langext = sourcecode .split ("." )
1079+ dockername ,langext = sourcecode .rsplit ("." , 1 )
10801080 if not (langext in ["py" ,"m" ,"sh" ,"cpp" ,"v" ]): # 6/22/21
10811081 logging .error (f"Extension .{ langext } is unsupported" )
10821082 quit ()
@@ -1192,7 +1192,7 @@ def cleanup_script_files():
11921192for node in nodes_dict :
11931193 containername ,sourcecode = nodes_dict [node ].split (':' )
11941194 if len (sourcecode )!= 0 :
1195- dockername = sourcecode .split ("." )[0 ] # 3/28/21
1195+ dockername = sourcecode .rsplit ("." , 1 )[0 ] # 3/28/21
11961196 if concoretype == "windows" :
11971197 q_container = f'"{ containername } "'
11981198 fstop .write ('cmd /C ' + q_container + "\\ concorekill\n " )
@@ -1210,7 +1210,7 @@ def cleanup_script_files():
12101210for node in nodes_dict :
12111211 containername ,sourcecode = nodes_dict [node ].split (':' )
12121212 if len (sourcecode )!= 0 :
1213- dockername = sourcecode .split ("." )[0 ] #3/28/21
1213+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
12141214 writeedges = volswr [i ]
12151215 while writeedges .find (":" ) != - 1 :
12161216 path_part = writeedges .split (":" )[0 ].split ("-v" )[1 ].strip ()
@@ -1230,7 +1230,7 @@ def cleanup_script_files():
12301230for node in nodes_dict :
12311231 containername ,sourcecode = nodes_dict [node ].split (':' )
12321232 if len (sourcecode )!= 0 :
1233- dockername = sourcecode .split ("." )[0 ] #3/28/21
1233+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
12341234 writeedges = volswr [i ]
12351235 while writeedges .find (":" ) != - 1 :
12361236 path_part = writeedges .split (":" )[0 ].split ("-v" )[1 ].strip ()
@@ -1248,7 +1248,7 @@ def cleanup_script_files():
12481248for node in nodes_dict :
12491249 containername ,sourcecode = nodes_dict [node ].split (':' )
12501250 if len (sourcecode )!= 0 :
1251- dockername = sourcecode .split ("." )[0 ] #3/28/21
1251+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
12521252 writeedges = volswr [i ]
12531253 while writeedges .find (":" ) != - 1 :
12541254 path_part = writeedges .split (":" )[0 ].split ("-v" )[1 ].strip ()
@@ -1266,7 +1266,7 @@ def cleanup_script_files():
12661266for node in nodes_dict :
12671267 containername ,sourcecode = nodes_dict [node ].split (':' )
12681268 if len (sourcecode )!= 0 :
1269- dockername = sourcecode .split ("." )[0 ] #3/28/21
1269+ dockername = sourcecode .rsplit ("." , 1 )[0 ] #3/28/21
12701270 writeedges = volswr [i ]
12711271 while writeedges .find (":" ) != - 1 :
12721272 path_part = writeedges .split (":" )[0 ].split ("-v" )[1 ].strip ()
0 commit comments