import time
import subprocess

def pipepathfixer(oldpipe, newpipe, newfolder, newinput, newstart, newend, newoutput):
    # Read original pipeline
    inputFile = open(oldpipe, 'r')
    outputFile = open(newpipe, 'w')
    for iLine, Line in enumerate(inputFile):
        if iLine == 11:
            #print(Line)
            outputFile.write(Line.replace(Line, "            \"EndIndex\": "+str(newend)+",\n"))
        elif iLine == 13:
            #print(Line)
            outputFile.write(Line.replace(Line, newfolder))
        elif iLine == 16:
            #print(Line)
            outputFile.write(Line.replace(Line, newinput))
        elif iLine == 19:
            #print(Line)
            outputFile.write(Line.replace(Line,  "            \"StartIndex\": "+str(newstart)+"\n"))
        elif iLine == 199:
            #print(Line)
            outputFile.write(Line.replace(Line, newoutput))
        else:
            outputFile.write(Line)
    inputFile.close()
    outputFile.close()


start = time.time()
oldpipe = "voidAnalysis.json"
newpipe = "voidAnalysis2.json"

processList = {108,109,110}

for ii in processList:
    newfolder = "            \"FilePrefix\": \"Exp%03d_\",\n" %ii
    newinput = "            \"InputPath\": \"C:\\\\H2-2-mats\\\\Exp%03d\",\n" %ii

    for jj in range(1,5):
        if jj == 1:
            newstart = 1
            newend = 522
            newoutput = "        \"FeatureDataFile\": \"C:/Pos-2-scans/H2-2-mats/Feat%03d_%04d-%04d.csv\",\n" %(ii,newstart,newend)
            pipepathfixer(oldpipe, newpipe, newfolder, newinput, newstart, newend, newoutput)
            subprocess.run("PipelineRunner -p \"C:Pos-2-scans\\voidAnalysis2.json\"", shell=True)
            end = time.time()

        elif jj == 2:
            newstart = 523
            newend = 1044
            newoutput = "        \"FeatureDataFile\": \"C:/Pos-2-scans/H2-2-mats/Feat%03d_%04d-%04d.csv\",\n" %(ii,newstart,newend)
            pipepathfixer(oldpipe, newpipe, newfolder, newinput, newstart, newend, newoutput)
            subprocess.call("PipelineRunner -p \"C:/Pos-2-scans/voidAnalysis2.json\"", shell=True)
            end = time.time()

        elif jj == 3:
            newstart = 1045
            newend = 1566
            newoutput = "        \"FeatureDataFile\": \"C:/Pos-2-scans/H2-2-mats/Feat%03d_%04d-%04d.csv\",\n" %(ii,newstart,newend)
            pipepathfixer(oldpipe, newpipe, newfolder, newinput, newstart, newend, newoutput)
            subprocess.call("PipelineRunner -p \"C:/Pos-2-scans/voidAnalysis2.json\"", shell=True)
            end = time.time()

        elif jj == 4:
            newstart = 1567
            newend = 2088
            newoutput = "        \"FeatureDataFile\": \"C:Pos-2-scans/H2-2-mats/Feat%03d_%04d-%04d.csv\",\n" %(ii,newstart,newend)

            pipepathfixer(oldpipe, newpipe, newfolder, newinput, newstart, newend, newoutput)
            subprocess.call("PipelineRunner -p \"C:/Pos-2-scans/voidAnalysis2.json\"", shell=True)
            end = time.time()
