def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ' + inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts StatValues.computeValues(subFolder, statData) orgSize = len(statData) if orgSize < 8: print '\nNo graph data!' BuildTex.SimplifyResult(subFolder) else: try: # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # Create PDF if orgSize > 37: BuildTex.insertTables(subFolder, orgSize) BuildTex.splitTables(subFolder, orgSize) BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName)
def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ' + inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts StatValues.computeValues(subFolder, statData) orgSize = len(statData) if orgSize < 8 : print '\nNo graph data!' BuildTex.SimplifyResult(subFolder) else : try : # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # Create PDF if orgSize > 37 : BuildTex.insertTables(subFolder, orgSize) BuildTex.splitTables(subFolder, orgSize) BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName)
def makeReport(inputFileName, outputDir): print '\n Processing input file ' + inputFileName try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the values StatValues.computeValues(subFolder, statData) # Process the input data to create charts, graphs, Tex and then PDF # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) # Create charts and histograms for the reports BuildCharts.BuildAllCharts(subFolder, statData) # Create PDF BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName) except Exception as e: print e.message print 'Creating PDF failed for ', inputId print '\n', '*'*70, '\n', '-'*70, '\n'
def compute21a(subFolder, statData): # aggregate print '\nComputing values for slide 2.1.1.' values = ParseInput.extractAnswers(statData, [38,39]) values = StatValues.joinLists(values) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBAAyesNumP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBAAnoNumP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie211.svg', yesNumP, noNumP)
def compute22a(subFolder, statData): # aggregate print '\nComputing values for slide 2.2.1.' values = ParseInput.extractAnswers(statData, [28,29,46,47]) values = StatValues.joinLists(values) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBBAyesNumP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBBAnoNumP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie221.svg', yesNumP, noNumP)
def compute31a(subFolder, statData): # aggregate print '\nComputing values for slide 3.1.1.' values = StatValues.extractAnswers(statData, [43]) yesNum = values.count('103') + values.count('104') noNum = values.count('105') + values.count('106') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valCAAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valCAAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valCAAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valCAAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie311.png', yesNumP, noNumP)
def compute23a(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.1.' values = StatValues.extractAnswers(statData, [23]) yesNum = values.count('61') noNum = values.count('62') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valBCAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie231.png', yesNumP, noNumP)
def compute23b(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.2.' values = StatValues.extractAnswers(statData, [52]) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valBCByesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCBnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCByesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCBnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie232.png', yesNumP, noNumP)
def compute23a(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.1.' values = StatValues.extractAnswers(statData, [23]) yesNum = values.count('61') noNum = values.count('62') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valBCAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie231.png', yesNumP, noNumP)
def compute31a(subFolder, statData): # aggregate print '\nComputing values for slide 3.1.1.' values = StatValues.extractAnswers(statData, [43]) yesNum = values.count('103') + values.count('104') noNum = values.count('105') + values.count('106') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valCAAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valCAAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valCAAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valCAAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie311.png', yesNum, noNum)
def compute42c(subFolder, statData): # one question print '\nComputing values for slide 4.2.c.' values = StatValues.extractAnswers(statData, [54]) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valDBCyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valDBCnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valDBCyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valDBCnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie42_c_.png', yesNumP, noNumP)
def compute23b(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.2.' values = StatValues.extractAnswers(statData, [52]) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valBCByesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCBnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCByesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCBnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie232.png', yesNumP, noNumP)
def compute23d(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.4.' values = StatValues.extractAnswers(statData, [30]) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valBCDyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCDnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCDyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCDnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie234.png', yesNumP, noNumP)
def compute42c(subFolder, statData): # one question print '\nComputing values for slide 4.2.c.' values = StatValues.extractAnswers(statData, [54]) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valDBCyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valDBCnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valDBCyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valDBCnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie42_c_.png', yesNumP, noNumP)
def compute23d(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.4.' values = StatValues.extractAnswers(statData, [30]) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valBCDyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBCDnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBCDyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBCDnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie234.png', yesNumP, noNumP)
def compute21a(subFolder, statData): # aggregate print '\nComputing values for slide 2.1.1.' values = StatValues.extractAnswers(statData, [38, 39]) values = StatValues.joinLists(values) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valBAAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBAAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBAAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBAAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie211.png', yesNumP, noNumP)
def compute74(subFolder, statData): # by question print "\nComputing values for slide 7.4." values = StatValues.extractAnswers(statData, [56, 57]) values = StatValues.joinListsByQuestion(values) yesNum = [val.count("87") + val.count("88") for val in values] noNum = [val.count("89") + val.count("90") for val in values] BuildTex.addMacros(subFolder, "valGDyesNumA", str(yesNum[0])) BuildTex.addMacros(subFolder, "valGDyesNumB", str(yesNum[1])) BuildTex.addMacros(subFolder, "valGDnoNumA", str(noNum[0])) BuildTex.addMacros(subFolder, "valGDnoNumB", str(noNum[1])) BuildCharts.YesNoPie(subFolder + "\\pie74a.png", yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + "\\pie74b.png", yesNum[1], noNum[1])
def compute74(subFolder, statData): # by question print '\nComputing values for slide 7.4.' values = StatValues.extractAnswers(statData, [56,57]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTex.addMacros(subFolder, 'valGDyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valGDyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valGDnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valGDnoNumB', str(noNum[1])) BuildCharts.YesNoPie(subFolder + '\\pie74a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie74b.png', yesNum[1], noNum[1])
def compute32a(subFolder, statData): # aggregate print '\nComputing values for slide 3.2.1.' values = StatValues.extractAnswers(statData, [40, 41, 42]) values = StatValues.joinLists(values) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valCBAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valCBAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valCBAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valCBAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie321.png', yesNumP, noNumP)
def compute71(subFolder, statData): # aggregate print "\nComputing values for slide 7.1." values = StatValues.extractAnswers(statData, [56, 57]) values = StatValues.joinLists(values) yesNum = values.count("87") + values.count("88") noNum = values.count("89") + values.count("90") [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, "valGAyesNum", str(yesNum)) BuildTex.addMacros(subFolder, "valGAnoNum", str(noNum)) BuildTex.addMacros(subFolder, "valGAyesNumP", str(yesNumP)) BuildTex.addMacros(subFolder, "valGAnoNumP", str(noNumP)) BuildCharts.YesNoPie(subFolder + "\\pie71.png", yesNumP, noNumP)
def extractGraphDataBlock(dataline, localId) : id = StatValues.extractAnswers([dataline], [5])[0] name = StatValues.extractAnswers([dataline], [6])[0] position = StatValues.extractAnswers([dataline], [7])[0] year = StatValues.extractAnswers([dataline], [14])[0] if len(year) == 4 : age = 2014 - int(year) else : age = 0 print 'Age is unknown for', id, name edgeGroups = extractEdgeGroups(dataline) return [ id, str(localId), name + position, age, edgeGroups ]
def compute22a(subFolder, statData): # aggregate print '\nComputing values for slide 2.2.1.' values = StatValues.extractAnswers(statData, [28, 29, 46, 47]) values = StatValues.joinLists(values) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum, noNum]) BuildTex.addMacros(subFolder, 'valBBAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valBBAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valBBAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valBBAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie221.png', yesNumP, noNumP)
def compute32a(subFolder, statData): # aggregate print '\nComputing values for slide 3.2.1.' values = StatValues.extractAnswers(statData, [40,41,42]) values = StatValues.joinLists(values) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTex.addMacros(subFolder, 'valCBAyesNum', str(yesNum)) BuildTex.addMacros(subFolder, 'valCBAnoNum', str(noNum)) BuildTex.addMacros(subFolder, 'valCBAyesNumP', str(yesNumP)) BuildTex.addMacros(subFolder, 'valCBAnoNumP', str(noNumP)) BuildCharts.YesNoPie(subFolder + '\\pie321.png', yesNum, noNum)
def computeParticipatedManWomen(subFolder, statData): values = StatValues.extractAnswers(statData, [9]) men = values.count('14') women = values.count('15') BuildTex.addMacros(subFolder, 'nParticipated', str(men + women)) BuildTex.addMacros(subFolder, 'numMen', str(men)) BuildTex.addMacros(subFolder, 'numWomen', str(women))
def computeParticipatedManWomen(subFolder, statData) : values = StatValues.extractAnswers(statData, [9]) men = values.count('14') women = values.count('15') BuildTex.addMacros(subFolder, 'nParticipated', str(men+women)) BuildTex.addMacros(subFolder, 'numMen', str(men)) BuildTex.addMacros(subFolder, 'numWomen', str(women))
def computeAllBossTeacher(subFolder, statData): values = StatValues.extractAnswers(statData, [8]) boss = values.count('201') + values.count('202') teacher = values.count('203') BuildTex.addMacros(subFolder, 'nTotal', str(len(statData))) BuildTex.addMacros(subFolder, 'numBoss', str(boss)) BuildTex.addMacros(subFolder, 'numTeacher', str(teacher))
def computeAllBossTeacher(subFolder, statData) : values = StatValues.extractAnswers(statData, [8]) boss = values.count('201') + values.count('202') teacher = values.count('203') BuildTex.addMacros(subFolder, 'nTotal', str(len(statData))) BuildTex.addMacros(subFolder, 'numBoss', str(boss)) BuildTex.addMacros(subFolder, 'numTeacher', str(teacher))
def compute23c(subFolder, statData): # aggregate (1 question) print '\nComputing values for slide 2.3.3.' values = StatValues.extractAnswers(statData, [53]) ansA = values.count('120') ansB = values.count('121') ansC = values.count('122') [ansAp, ansBp, ansCp] = StatValues.percent([ansA, ansB, ansC]) BuildTex.addMacros(subFolder, 'valBCCansA', str(ansA)) BuildTex.addMacros(subFolder, 'valBCCansB', str(ansB)) BuildTex.addMacros(subFolder, 'valBCCansC', str(ansC)) BuildTex.addMacros(subFolder, 'valBCCansAp', str(ansAp)) BuildTex.addMacros(subFolder, 'valBCCansBp', str(ansBp)) BuildTex.addMacros(subFolder, 'valBCCansCp', str(ansCp)) BuildCharts.Pie(subFolder + '\\pie233.png', [ansAp, ansBp, ansCp])
def compute32d(subFolder, statData): # by question print '\nComputing values for slide 3.2.4.' values = StatValues.extractAnswers(statData, [40,41,42]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('99') + val.count('100') for val in values ] noNum = [ val.count('101') + val.count('102') for val in values ] BuildTex.addMacros(subFolder, 'valCBDyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valCBDyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valCBDyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valCBDnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valCBDnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valCBDnoNumC', str(noNum[2])) BuildCharts.YesNoPie(subFolder + '\\pie324a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie324b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie324c.png', yesNum[2], noNum[2])
def compute32d(subFolder, statData): # by question print '\nComputing values for slide 3.2.4.' values = StatValues.extractAnswers(statData, [40, 41, 42]) values = StatValues.joinListsByQuestion(values) yesNum = [val.count('99') + val.count('100') for val in values] noNum = [val.count('101') + val.count('102') for val in values] BuildTex.addMacros(subFolder, 'valCBDyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valCBDyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valCBDyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valCBDnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valCBDnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valCBDnoNumC', str(noNum[2])) BuildCharts.YesNoPie(subFolder + '\\pie324a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie324b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie324c.png', yesNum[2], noNum[2])
def computeTeachCat(subFolder, statData): values = StatValues.extractAnswers(statData, [19]) keys = [str(i + 55) for i in range(5)] stat = [values.count(key) for key in keys] print '\nTeacher categories:', values, stat BuildTex.addMacros(subFolder, 'numTechCatA', str(stat[0])) BuildTex.addMacros(subFolder, 'numTechCatB', str(stat[1])) BuildTex.addMacros(subFolder, 'numTechCatC', str(stat[2])) BuildTex.addMacros(subFolder, 'numTechCatD', str(stat[3])) BuildTex.addMacros(subFolder, 'numTechCatE', str(stat[4]))
def computeTeachCat(subFolder, statData) : values = StatValues.extractAnswers(statData, [19]) keys = [str(i+55) for i in range(5)] stat = [values.count(key) for key in keys] print '\nTeacher categories:', values, stat BuildTex.addMacros(subFolder, 'numTechCatA', str(stat[0])) BuildTex.addMacros(subFolder, 'numTechCatB', str(stat[1])) BuildTex.addMacros(subFolder, 'numTechCatC', str(stat[2])) BuildTex.addMacros(subFolder, 'numTechCatD', str(stat[3])) BuildTex.addMacros(subFolder, 'numTechCatE', str(stat[4]))
def compute42a(subFolder, statData): # one question print '\nComputing values for slide 4.2.a' values = StatValues.extractAnswers(statData, [37]) ansA = values.count('95') ansB = values.count('96') ansC = values.count('97') ansD = values.count('98') [ansAp, ansBp, ansCp, ansDp] = StatValues.percent([ansA, ansB, ansC, ansD]) BuildTex.addMacros(subFolder, 'valDBAansA', str(ansA)) BuildTex.addMacros(subFolder, 'valDBAansB', str(ansB)) BuildTex.addMacros(subFolder, 'valDBAansC', str(ansC)) BuildTex.addMacros(subFolder, 'valDBAansD', str(ansD)) BuildTex.addMacros(subFolder, 'valDBAansAp', str(ansAp)) BuildTex.addMacros(subFolder, 'valDBAansBp', str(ansBp)) BuildTex.addMacros(subFolder, 'valDBAansCp', str(ansCp)) BuildTex.addMacros(subFolder, 'valDBAansDp', str(ansDp)) BuildCharts.Pie(subFolder + '\\pie42_a_.png', [ansAp, ansBp, ansCp, ansDp])
def compute22e(subFolder, statData): # aggregate (1 question) print '\nComputing values for slide 2.2.5.' values = StatValues.extractAnswers(statData, [49]) ansA = values.count('115') ansB = values.count('116') ansC = values.count('117') ansD = values.count('118') [ansAp, ansBp, ansCp, ansDp] = StatValues.percent([ansA, ansB, ansC, ansD]) BuildTex.addMacros(subFolder, 'valBBEansA', str(ansA)) BuildTex.addMacros(subFolder, 'valBBEansB', str(ansB)) BuildTex.addMacros(subFolder, 'valBBEansC', str(ansC)) BuildTex.addMacros(subFolder, 'valBBEansD', str(ansD)) BuildTex.addMacros(subFolder, 'valBBEansAp', str(ansAp)) BuildTex.addMacros(subFolder, 'valBBEansBp', str(ansBp)) BuildTex.addMacros(subFolder, 'valBBEansCp', str(ansCp)) BuildTex.addMacros(subFolder, 'valBBEansDp', str(ansDp)) BuildCharts.Pie(subFolder + '\\pie225.png', [ansAp, ansBp, ansCp, ansDp])
def compute22e(subFolder, statData): # aggregate (1 question) print '\nComputing values for slide 2.2.5.' values = StatValues.extractAnswers(statData, [49]) ansA = values.count('115') ansB = values.count('116') ansC = values.count('117') ansD = values.count('118') [ansAp, ansBp, ansCp, ansDp] = StatValues.percent([ansA, ansB, ansC, ansD]) BuildTex.addMacros(subFolder, 'valBBEansA', str(ansA)) BuildTex.addMacros(subFolder, 'valBBEansB', str(ansB)) BuildTex.addMacros(subFolder, 'valBBEansC', str(ansC)) BuildTex.addMacros(subFolder, 'valBBEansD', str(ansD)) BuildTex.addMacros(subFolder, 'valBBEansAp', str(ansAp)) BuildTex.addMacros(subFolder, 'valBBEansBp', str(ansBp)) BuildTex.addMacros(subFolder, 'valBBEansCp', str(ansCp)) BuildTex.addMacros(subFolder, 'valBBEansDp', str(ansDp)) BuildCharts.Pie(subFolder + '\\pie225.png', [ansA, ansB, ansC, ansD])
def compute22d(subFolder, statData): # by question print '\nComputing values for slide 2.2.4.' values = StatValues.extractAnswers(statData, [28, 29, 46, 47]) values = StatValues.joinListsByQuestion(values) yesNum = [val.count('83') + val.count('84') for val in values] noNum = [val.count('85') + val.count('86') for val in values] BuildTex.addMacros(subFolder, 'valBBDyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBBDyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBBDyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBBDyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBBDnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBBDnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBBDnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBBDnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie224a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie224b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie224c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie224d.png', yesNum[3], noNum[3])
def compute72(subFolder, statData): # by age - q14 print '\nComputing values for slide 7.2.' values = StatValues.extractAnswers(statData, [14, 56,57]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTex.addMacros(subFolder, 'valGByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valGByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valGByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valGByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valGBnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valGBnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valGBnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valGBnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie72a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie72b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie72c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie72d.png', yesNum[3], noNum[3])
def compute22d(subFolder, statData): # by question print '\nComputing values for slide 2.2.4.' values = StatValues.extractAnswers(statData, [28,29,46,47]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTex.addMacros(subFolder, 'valBBDyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBBDyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBBDyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBBDyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBBDnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBBDnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBBDnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBBDnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie224a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie224b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie224c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie224d.png', yesNum[3], noNum[3])
def compute72(subFolder, statData): # by age - q14 print "\nComputing values for slide 7.2." values = StatValues.extractAnswers(statData, [14, 56, 57]) values = StatValues.joinListsByAge(values) yesNum = [val.count("87") + val.count("88") for val in values] noNum = [val.count("89") + val.count("90") for val in values] BuildTex.addMacros(subFolder, "valGByesNumA", str(yesNum[0])) BuildTex.addMacros(subFolder, "valGByesNumB", str(yesNum[1])) BuildTex.addMacros(subFolder, "valGByesNumC", str(yesNum[2])) BuildTex.addMacros(subFolder, "valGByesNumD", str(yesNum[3])) BuildTex.addMacros(subFolder, "valGBnoNumA", str(noNum[0])) BuildTex.addMacros(subFolder, "valGBnoNumB", str(noNum[1])) BuildTex.addMacros(subFolder, "valGBnoNumC", str(noNum[2])) BuildTex.addMacros(subFolder, "valGBnoNumD", str(noNum[3])) BuildCharts.YesNoPie(subFolder + "\\pie72a.png", yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + "\\pie72b.png", yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + "\\pie72c.png", yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + "\\pie72d.png", yesNum[3], noNum[3])
def compute31b(subFolder, statData): # by age - q14 print '\nComputing values for slide 3.1.2.' values = StatValues.extractAnswers(statData, [14, 43]) values = StatValues.joinListsByAge(values) yesNum = [val.count('103') + val.count('104') for val in values] noNum = [val.count('105') + val.count('106') for val in values] BuildTex.addMacros(subFolder, 'valCAByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valCAByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valCAByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valCAByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valCABnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valCABnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valCABnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valCABnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie312a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie312b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie312c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie312d.png', yesNum[3], noNum[3])
def compute31b(subFolder, statData): # by age - q14 print '\nComputing values for slide 3.1.2.' values = StatValues.extractAnswers(statData, [14, 43]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('103') + val.count('104') for val in values ] noNum = [ val.count('105') + val.count('106') for val in values ] BuildTex.addMacros(subFolder, 'valCAByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valCAByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valCAByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valCAByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valCABnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valCABnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valCABnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valCABnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie312a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie312b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie312c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie312d.png', yesNum[3], noNum[3])
def compute42b(subFolder, statData): # one question print '\nComputing values for slide 4.2.b.' values = StatValues.extractAnswers(statData, [45]) ansA = values.count('107') ansB = values.count('108') ansC = values.count('109') ansD = values.count('110') ansE = values.count('111') [ansAp, ansBp, ansCp, ansDp, ansEp] = StatValues.percent([ansA, ansB, ansC, ansD, ansE]) BuildTex.addMacros(subFolder, 'valDBBansA', str(ansA)) BuildTex.addMacros(subFolder, 'valDBBansB', str(ansB)) BuildTex.addMacros(subFolder, 'valDBBansC', str(ansC)) BuildTex.addMacros(subFolder, 'valDBBansD', str(ansD)) BuildTex.addMacros(subFolder, 'valDBBansE', str(ansE)) BuildTex.addMacros(subFolder, 'valDBBansAp', str(ansAp)) BuildTex.addMacros(subFolder, 'valDBBansBp', str(ansBp)) BuildTex.addMacros(subFolder, 'valDBBansCp', str(ansCp)) BuildTex.addMacros(subFolder, 'valDBBansDp', str(ansDp)) BuildTex.addMacros(subFolder, 'valDBBansEp', str(ansEp)) BuildCharts.Pie(subFolder + '\\pie42_b_.png', [ansAp, ansBp, ansCp, ansDp, ansEp])
def compute22c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.2.3.' values = StatValues.extractAnswers(statData, [19, 28, 29, 46, 47]) values = StatValues.joinListsByCategory(values) yesNum = [val.count('83') + val.count('84') for val in values] noNum = [val.count('85') + val.count('86') for val in values] BuildTex.addMacros(subFolder, 'valBBCyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBBCyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBBCyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBBCyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBBCyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBBCnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBBCnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBBCnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBBCnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBBCnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie223a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie223b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie223c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie223d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie223e.png', yesNum[4], noNum[4])
def compute21b(subFolder, statData): # by age - q14 print '\nComputing values for slide 2.1.2.' values = ParseInput.extractAnswers(statData, [14, 38,39]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBAByesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBABnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie212a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie212b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie212c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie212d.svg', yesNum[3], noNum[3])
def compute22b(subFolder, statData): # by age print '\nComputing values for slide 2.2.2.' values = ParseInput.extractAnswers(statData, [14, 28,29,46,47]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBBByesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBBBnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie222a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie222b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie222c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie222d.svg', yesNum[3], noNum[3])
def compute21d(subFolder, statData): # by question print '\nComputing values for slide 2.1.4.' values = StatValues.extractAnswers(statData, [35,38,39,50,55]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTex.addMacros(subFolder, 'valBADyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBADyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBADyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBADyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBADyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBADnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBADnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBADnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBADnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBADnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie214a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie214b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie214c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie214d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie214e.png', yesNum[4], noNum[4])
def compute21c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.1.3.' values = StatValues.extractAnswers(statData, [19, 38,39]) values = StatValues.joinListsByCategory(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTex.addMacros(subFolder, 'valBACyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBACyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBACyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBACyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBACyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBACnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBACnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBACnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBACnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBACnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie213a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie213b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie213c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie213d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie213e.png', yesNum[4], noNum[4])
def compute22c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.2.3.' values = StatValues.extractAnswers(statData, [19, 28,29,46,47]) values = StatValues.joinListsByCategory(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTex.addMacros(subFolder, 'valBBCyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBBCyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBBCyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBBCyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBBCyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBBCnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBBCnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBBCnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBBCnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBBCnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie223a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie223b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie223c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie223d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie223e.png', yesNum[4], noNum[4])
def compute22d(subFolder, statData): # by question print '\nComputing values for slide 2.2.4.' values = ParseInput.extractAnswers(statData, [28,29,46,47]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBBDyesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBBDnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie224a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie224b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie224c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie224d.svg', yesNum[3], noNum[3])
def compute21d(subFolder, statData): # by question print '\nComputing values for slide 2.1.4.' values = StatValues.extractAnswers(statData, [35, 38, 39, 50, 55]) values = StatValues.joinListsByQuestion(values) yesNum = [val.count('87') + val.count('88') for val in values] noNum = [val.count('89') + val.count('90') for val in values] BuildTex.addMacros(subFolder, 'valBADyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBADyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBADyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBADyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBADyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBADnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBADnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBADnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBADnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBADnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie214a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie214b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie214c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie214d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie214e.png', yesNum[4], noNum[4])
def compute21c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.1.3.' values = StatValues.extractAnswers(statData, [19, 38, 39]) values = StatValues.joinListsByCategory(values) yesNum = [val.count('87') + val.count('88') for val in values] noNum = [val.count('89') + val.count('90') for val in values] BuildTex.addMacros(subFolder, 'valBACyesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBACyesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBACyesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBACyesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBACyesNumE', str(yesNum[4])) BuildTex.addMacros(subFolder, 'valBACnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBACnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBACnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBACnoNumD', str(noNum[3])) BuildTex.addMacros(subFolder, 'valBACnoNumE', str(noNum[4])) BuildCharts.YesNoPie(subFolder + '\\pie213a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie213b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie213c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie213d.png', yesNum[3], noNum[3]) BuildCharts.YesNoPie(subFolder + '\\pie213e.png', yesNum[4], noNum[4])
def computeWorkYears(subFolder, statData): values = StatValues.extractAnswers(statData, [16]) years = map(StatValues.toNumber, values) print '\nExperience:', values, years [expA, expB, expC, expD] = [0, 0, 0, 0] for y in years: if y < 0: expA = expA elif y < 5: expA += 1 elif y < 11: expB += 1 elif y < 21: expC += 1 elif y >= 21 and y < 100: expD += 1 BuildTex.addMacros(subFolder, 'numExpA', str(expA)) BuildTex.addMacros(subFolder, 'numExpB', str(expB)) BuildTex.addMacros(subFolder, 'numExpC', str(expC)) BuildTex.addMacros(subFolder, 'numExpD', str(expD))
def computeEducation(subFolder, statData): values = StatValues.extractAnswers(statData, [15]) eduValues = [] for v in values: v = v.replace('{', '').replace('}', '') eduList = v.split('=') for e in eduList: if len(e) > 1: eduValues.append(e) keys = [str(i + 16) for i in range(7)] eduStat = [eduValues.count(key) for key in keys] print 'Education values:', eduValues, eduStat BuildTex.addMacros(subFolder, 'numEduA', str(eduStat[0])) BuildTex.addMacros(subFolder, 'numEduB', str(eduStat[1])) BuildTex.addMacros(subFolder, 'numEduC', str(eduStat[2])) BuildTex.addMacros(subFolder, 'numEduD', str(eduStat[3])) BuildTex.addMacros(subFolder, 'numEduE', str(eduStat[4])) BuildTex.addMacros(subFolder, 'numEduF', str(eduStat[5])) BuildTex.addMacros(subFolder, 'numEduG', str(eduStat[6]))
def computeAge(subFolder, statData): values = StatValues.extractAnswers(statData, [14]) years = map(StatValues.toNumber, values) print '\nYears:', years ages = [(2014 - y) for y in years] print 'Ages:', ages [young, mid, senior, old] = [0, 0, 0, 0] for age in ages: if age < 25 and age > 12: young += 1 elif age < 36: mid += 1 elif age < 56: senior += 1 elif age >= 56 and age < 120: old += 1 BuildTex.addMacros(subFolder, 'numYoung', str(young)) BuildTex.addMacros(subFolder, 'numMidAge', str(mid)) BuildTex.addMacros(subFolder, 'numSenior', str(senior)) BuildTex.addMacros(subFolder, 'numOld', str(old))
def main(): buildlist = [] #loopthrough the files for k in range(1): seedJSON = StatValues.requestSeedData(1) for i in range(len(seedJSON["matches"])): match = seedJSON["matches"][i] matchframes = match["timeline"]["frames"] #loop through each participant for j in range(1, 10): team = 0 if j < 6: team == 1 else: team == 2 #sums of individual stats singleGamelistAD = statSum(matchframes, "FlatPhysicalDamageMod", team) singleGamelistHP = statSum(matchframes, "FlatHPPoolMod", team) singleGamelistAP = statSum(matchframes, "FlatMagicDamageMod", team) singleGamelistARM = statSum(matchframes, "FlatArmorMod", team) singleGamelistCRIT = statSum(matchframes, "FlatCritChanceMod", team) singleGamelistMR = statSum(matchframes, "FlatSpellBlockMod", team) singleGamelistAS = statSum(matchframes, "PercentAttackSpeedMod", team) #loop through the timeline sums for t in range(len(singleGamelistAD)): #aggregates stats into "effective stats" champid = match["participants"][j]["championId"] AD = singleGamelistAD[ t] + singleGamelistAD[t] * singleGamelistAS[ t] + singleGamelistAD[t] * singleGamelistCRIT[t] AP = singleGamelistAP[t] ARM = singleGamelistARM[t] + singleGamelistHP[t] MR = singleGamelistMR[t] + singleGamelistHP[t] #creates the hash for that "situation" hashsit = hash(AD, AP, ARM, MR, champid) #build object, which has build and situation in it as well as winrate build = SituationalBuild.SituationalBuild( hashsit, finalbuildorder(match, j)) buildlist.append(build) if match["participants"][j]["stats"]["winner"] == True: build.addWin() else: build.addloss() #list now is sorted by situation and by winrate ''' for i in range (len(buildlist)): print(buildlist[i].getbuildseq() + " " + str(buildlist[i].getwinrate()) + " " + str(buildlist[i].getsituation())) ''' #processes the builds situationbuild = situationalbuildlist(buildlist) for k in range(len(situationbuild)): sorted(situationbuild[k], key=getKey) condensebuilds(situationbuild) #database stuff conn = sqlite3.connect('main.db') conn.execute('''CREATE TABLE DATA2 (Hash INT r0 TEXT, r1 TEXT, r2 TEXT, r3 TEXT, r4 TEXT, r5 TEXT, r6 TEXT, r7 TEXT, r8 TEXT, r9 TEXT, r10 TEXT, r11 TEXT, r12 TEXT, r13 TEXT, r14 TEXT, r15 TEXT, r16 TEXT, r17 TEXT, r18 TEXT, r19 TEXT, r20 TEXT, r21 TEXT, r22 TEXT, r23 TEXT, r24 TEXT, r25 TEXT, r26 TEXT, r27 TEXT, r28 TEXT, r29 TEXT, r30 TEXT, r31 TEXT, r32 TEXT, r33 TEXT, r34 TEXT, r35 TEXT, r36 TEXT, r37 TEXT, r38 TEXT, r39 TEXT, r40 TEXT, r41 TEXT, r42 TEXT, r43 TEXT, r44 TEXT, r45 TEXT, r46 TEXT, r47 TEXT, r48 TEXT, r49 TEXT, r50 TEXT);''') #basically writes something like a 2d table, one dimension the hash and the other builds sorted by winrate for i in range(len(situationbuild)): for j in range(len(situationbuild[i])): if j > 50: break if j < 1: continue conn.execute("INSERT INTO DATA2 (Hash, " + "r" + str(j) + ") \ VALUES (" + str(int(situationbuild[i][j].getsituation() / 5000)) + ", " + str(situationbuild[i][j].getbuildseq()) + " )") conn.commit() conn.close()