f = open(binDir + 'schoolInfo.bin','rb') schoolInfo = pickle.load(f) f.close() config = {} exec(open(os.path.join(contestDir,"settings.py")).read(), config) editsDir = os.path.join(schedDir, 'edits') if not os.path.isdir(editsDir): os.makedirs(editsDir) #Make these files happy logger = logger.Logger(editsDir) schedIO.setLogger(logger) if 'G' in config['CONTEST_TYPE'].upper(): schedIO.setCats('group') else: schedIO.setCats('indiv') schedFitness.setLogger(logger) schedFitness.fitnessInitialize(schoolInfo, entryList, config) #schedFitness.fitnessTest (schedl = schedule, \ # saveReport = False) #print ('Score %d' % schedule['score']) catList = [] for x in schedule['lst']: if 'entry' in x and x['entry']['catShort'] not in catList: catList.append(x['entry']['catShort'])
config[key] = value #Read input files schoolCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolReg.csv') schoolExportFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolsExport.csv') studentCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'students.csv') if not os.path.isfile(schoolCsvFile): sys.exit ('SchoolCsv file not found: %s' % schoolCsvFile) if not os.path.isfile(schoolExportFile): sys.exit ('SchoolExport file not found: %s' % schoolExportFile) if not os.path.isfile(studentCsvFile): sys.exit ('StudentCsv file not found: %s' % studentCsvFile) #Don't need logger setup unless something bad happens in the data #logger = logger.Logger(jobFolder) #schedIO.setLogger(logger) schedIO.setCats('abba') schoolInfo = schedIO.readSchoolsExport(schoolExportFile) siteCount = len(config['CONTEST_SITENAME']) for site in config['CONTEST_SITENAME']: print ('Processing %s' % site) entriesList = schedIO.readSchoolWebCsv(fileName = schoolCsvFile, \ schoolInfo = schoolInfo, \ siteName = site, \ codeChar = 0) schedIO.readStudentWebCsv (entriesList, studentCsvFile) if siteCount > 1:
sys.exit('Usage: python3 %s jobFolder' % sys.argv[0]) if not os.path.exists(sys.argv[1]): sys.exit('ERROR: Job Folder %s was not found!' % sys.argv[1]) randGenMain = random.SystemRandom() #Setup output folder and Logger for this run jobFolder = os.path.join(os.getcwd(), sys.argv[1]) outFolder = os.path.join(jobFolder, timeStamp()) os.makedirs(outFolder) logger = logger.Logger(outFolder) schedIO.setLogger(logger) schedFitness.setLogger(logger) #Initialize schedIO schedIO.setCats('indiv') #Load config file configRaw = {} config = {} exec(open(os.path.join(jobFolder,"settings.py")).read(), config) for key,value in configRaw: #For some reason the raw config isnt pickleable config[key] = value #Read input files sessionsFile = os.path.join(jobFolder, 'Sessions.txt') restrSheetFile = os.path.join(jobFolder, 'restrSheet.csv') schoolCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolReg.csv') schoolExportFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolsExport.csv') studentCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'students.csv')
outFolder = os.path.join(jobFolder, timeStamp()) os.makedirs(outFolder) logger = logger.Logger(outFolder) schedIO.setLogger(logger) schedFitness.setLogger(logger) #Load config file configRaw = {} config = {} exec(open(os.path.join(jobFolder,"settings.py")).read(), config) for key,value in configRaw: #For some reason the raw config isnt pickleable config[key] = value #Tell schedIO and Categories object if we are group or individal. if 'G' in config['CONTEST_TYPE'].upper(): schedIO.setCats('group') else: schedIO.setCats('indiv') #Read input files sessionsFile = os.path.join(jobFolder, 'Sessions.txt') restrSheetFile = os.path.join(jobFolder, 'restrSheet.csv') schoolCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolReg.csv') schoolExportFile = os.path.join(config['MASTER_FILE_PATH'], 'schoolsExport.csv') studentCsvFile = os.path.join(config['MASTER_FILE_PATH'], 'students.csv') if not os.path.isfile(sessionsFile): sys.exit ('Sessions file not found: %s' % sessionsFile) if not os.path.isfile(restrSheetFile): sys.exit ('RestrSheet file not found: %s' % restrSheetFile) if not os.path.isfile(schoolCsvFile): sys.exit ('SchoolCsv file not found: %s' % schoolCsvFile) if not os.path.isfile(schoolExportFile): sys.exit ('SchoolExport file not found: %s' % schoolExportFile) if not os.path.isfile(studentCsvFile): sys.exit ('StudentCsv file not found: %s' % studentCsvFile)