import analysis import sys import os import getData import json import config def main(configFile): with open(configFile,'r') as f: xsetup=json.load(f) db,fb=getData.connectDB(xsetup['network']) qfilter=config.getFilter(xsetup) rows=getData.getPatients(db,xsetup,qfilter) for r in rows: getData.downloadCenters(fb,r,xsetup) mode=['global','IVF'] tempDir=config.getTempDir(xsetup) for r in rows: code=config.getCode(r,xsetup) for m in mode: #check if we need to run analysis files=config.printFitParFinalRowNames(r,xsetup,m) fullFiles=[os.path.join(tempDir,code,f) for f in files] filesPresent=[os.path.isfile(f) for f in fullFiles] doRun=not all(filesPresent) print(f'{code} mode {m} doRun: {doRun}') #for i in range(len(filesPresent)): # print('{} {}'.format(filesPresent[i],fullFiles[i])) #continue if doRun: analysis.doAnalysisRow(r,xsetup,m) print(f'{code} mode {m} done') getData.uploadFitParFinal(fb,r,xsetup,m) getData.updateStatus(db,r,xsetup,'doAnalysis') if __name__=="__main__": main(sys.argv[1])