@@ -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():
10541054for 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():
10751075for 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():
11911191for 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():
12091209for 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():
12291229for 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():
12471247for 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():
12651265for 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