def BuildAllGraphs(inputId, subFolder, G0): # Save the number of employee into the Tex file BuildTex.addMacros(subFolder, 'nTotal', str(len(G0.nodes()))) print '\nBuilding ', subFolder + '\\graph4a.png' G4a = aGraphObject(G0, [4,8], 'orange') G4a.draw(subFolder + '\\graph4a.png') G4b = aSymGraphObject(G0, [4,8], 'red') G4b.draw(subFolder + '\\graph4b.png') G51a = aGraphObject(G0, [5,7], 'blue') G51a.draw(subFolder + '\\graph5_1a.png') G51b = aSymGraphObject(G0, [5,7], '#808080') G51b.draw(subFolder + '\\graph5_1b.png') G52a = aGraphObject(G0, [3,6], 'darkgreen') G52a.draw(subFolder + '\\graph5_2a.png') G52b = aSymGraphObject(G0, [3,6], 'darkgreen') G52b.draw(subFolder + '\\graph5_2b.png') G53 = aGraphObject(G0, [3,5,6,7], '#448888') G53.draw(subFolder + '\\graph5_3.png')
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 MakeTitlePage(firstLine, subFolder) : [orgId, orgName] = firstLine.split('\t') orgName.replace('quot;','') orgName = orgName.decode("CP1251").encode("UTF-8") BuildTex.addMacros(subFolder,'fullName', orgName) orgId = orgId.split('=')[1] BuildTex.addMacros(subFolder,'internalId', orgId)
def BuildAllGraphs(inputId, subFolder, G0): # Save the graph data saveFullGraphData(subFolder, G0) buildGraph7a(subFolder, G0) buildGraph7b(subFolder, G0) buildGraph81a(subFolder, G0) buildGraph81b(subFolder, G0) buildGraph82a(subFolder, G0) buildGraph82b(subFolder, G0) BuildTex.addMacros(subFolder, 'linksnodes', str(len(G0.nodes()))) print '\n Building graphs complete'
def computeBossTeacher(subFolder) : fileName = subFolder + '\\nameslist.tex' # Teacher names to be included in report f = open(fileName, 'r') boss = 0 teacher = 0 for line in f.readlines() : pos = line.find(',') l = len(line) - pos print 'Boss:', pos, l, line if l > 80 : boss += 1 else : teacher += 1 BuildTex.addMacros(subFolder, 'numBoss', str(boss)) BuildTex.addMacros(subFolder, 'numTeacher', str(teacher)) f.close()
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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', yesNum, noNum)
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 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 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', yesNum, noNum)
def computeWorkHereYears(subFolder, statData): values = extractAnswers(statData, [17]) years = map(extractNumber, values) print '\nExperience:', values, years [expA, expB, expC, expD] = [0,0,0,0] for y in years : if y < 5 : expA += 1 elif y < 11 : expB += 1 elif y < 21 : expC += 1 else: expD += 1 BuildTex.addMacros(subFolder, 'numExpHereA', str(expA)) BuildTex.addMacros(subFolder, 'numExpHereB', str(expB)) BuildTex.addMacros(subFolder, 'numExpHereC', str(expC)) BuildTex.addMacros(subFolder, 'numExpHereD', str(expD))
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 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 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 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 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 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 dataFromFile(inputFileName, inputId, outputFolder, subFolder): # extract input file Id inputId = os.path.basename(inputFileName).split('.')[0].split('_')[1] subFolder = outputFolder + '\\' + inputId + '_files' resFileName = subFolder + '\\nameslist.tex' # Teacher names to be included in report f_in = open(inputFileName, 'r') f_namelist = open(resFileName, 'w') f_data = open(subFolder + '\\data.txt', 'w') graphData = [] statData = [] statDataDict = dict() for i in range(9,60) : statDataDict['q' + str(i)] = [] localId = 0 # id of a peson in his orhanization print 'Parse input initialized' # use the first line of the input file to build title page firstLine = f_in.readline() MakeTitlePage(firstLine, subFolder) for line in f_in: seq = line.split('\t') # Id - LocalId - full name - answers - comment if (len(seq)>3): # exclude lines with no data if (len(seq[3])) > 20: # the answers id = seq[1] localId += 1 name = seq[2] dataString = seq[3].replace('" ','"') age = extractAge(dataString) edgeGroups = extractEdges(dataString) # nine sequences of edge targets for the nine questions graphData.append([ id, str(localId), name, age, edgeGroups ]) # Save the name list into the Tex file resLine = '\item [' + str(localId) + '] ' + name + '\n' f_namelist.write(resLine.decode("CP1251").encode("UTF-8")) # Now extract the statistical data data = seq[3] data = data.replace('s:1:','').replace('s:2:','').replace('s:3:','').replace('s:4:','').replace('s:5:','').replace('s:6:','').replace('s:7:','').replace('s:8:','') data = data.replace('i:0;','').replace('i:1;','').replace('i:2;','').replace('i:3;','').replace('i:4;','').replace('i:5;','') data = data.replace('a:0:','').replace('a:1:','').replace('a:2:','').replace('a:3:','').replace('a:4:','').replace('a:5:','') data = data.replace(';"Q_','*"q').replace(';','=').replace('*',';').replace('}"Q_','};"q').replace('{"Q_','{;"q').replace(';','\t') ln = data.find('q6') - 2 data = data[7:ln] data = data.replace('"','') statData.append(data) f_data.write( data + '\n') for i in range(9,60) : q = 'q' + str(i) p_start = data.find(q) if p_start >= 0 : s = data[p_start:(p_start+100)].split('\t')[0] s = s.split('=')[1] if s.find('{') == -1 : statDataDict[q]= statDataDict[q] + [s] print '\nStat data', statData f_in.close() f_namelist.close() f_data.close() # Save the number of participated BuildTex.addMacros(subFolder, 'nParticipated', str(len(graphData))) return [graphData, statData]
def buildGraph82a(subFolder, G0): print '\nBuilding ', subFolder + '\\graph8_2a.png' G82a = aGraphObject(G0, [3, 6], 'darkgreen') G82a.draw(subFolder + '\\graph8_2a.png') BuildTex.addMacros(subFolder, 'valHBAlinks', str(len(G82a.edges())))
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 buildGraph82b(subFolder, G0): print '\nBuilding ', subFolder + '\\graph8_2b.txt' G82b = aSymGraphObject(G0, [3, 6], 'darkgreen') saveToFile(G82b, subFolder + '\\graph8_2b.txt') BuildTex.addMacros(subFolder, 'links72s', str(len(G82b.edges())))
def buildGraph7b(subFolder, G0): print '\nBuilding ', subFolder + '\\graph7b.txt' G7b = aSymGraphObject(G0, [4, 8], 'red') saveToFile(G7b, subFolder + '\\graph7b.txt') BuildTex.addMacros(subFolder, 'links6s', str(len(G7b.edges())))
def buildGraph82b(subFolder, G0) : print '\nBuilding ', subFolder + '\\graph8_2b.txt' G82b = aSymGraphObject(G0, [3,6], 'darkgreen') saveToFile(G82b, subFolder + '\\graph8_2b.txt') BuildTex.addMacros(subFolder, 'links72s', str(len(G82b.edges())))
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 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 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 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 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 buildGraph81b(subFolder, G0): print '\nBuilding ', subFolder + '\\graph8_1b.txt' G81b = aSymGraphObject(G0, [5, 7], '#808080') saveToFile(G81b, subFolder + '\\graph8_1b.txt') BuildTex.addMacros(subFolder, 'links71s', str(len(G81b.edges())))
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 compute21b(subFolder, statData): # by age - q14 print '\nComputing values for slide 2.1.2.' values = StatValues.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 ] BuildTex.addMacros(subFolder, 'valBAByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBAByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBAByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBAByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBABnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBABnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBABnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBABnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie212a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie212b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie212c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie212d.png', yesNum[3], noNum[3])
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 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 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 compute21b(subFolder, statData): # by age - q14 print '\nComputing values for slide 2.1.2.' values = StatValues.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] BuildTex.addMacros(subFolder, 'valBAByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valBAByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valBAByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valBAByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valBABnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valBABnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valBABnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valBABnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie212a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie212b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie212c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie212d.png', yesNum[3], noNum[3])
def compute32b(subFolder, statData): # by age - q14 print '\nComputing values for slide 3.2.2.' values = StatValues.extractAnswers(statData, [14, 40, 41, 42]) values = StatValues.joinListsByAge(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, 'valCBByesNumA', str(yesNum[0])) BuildTex.addMacros(subFolder, 'valCBByesNumB', str(yesNum[1])) BuildTex.addMacros(subFolder, 'valCBByesNumC', str(yesNum[2])) BuildTex.addMacros(subFolder, 'valCBByesNumD', str(yesNum[3])) BuildTex.addMacros(subFolder, 'valCBBnoNumA', str(noNum[0])) BuildTex.addMacros(subFolder, 'valCBBnoNumB', str(noNum[1])) BuildTex.addMacros(subFolder, 'valCBBnoNumC', str(noNum[2])) BuildTex.addMacros(subFolder, 'valCBBnoNumD', str(noNum[3])) BuildCharts.YesNoPie(subFolder + '\\pie322a.png', yesNum[0], noNum[0]) BuildCharts.YesNoPie(subFolder + '\\pie322b.png', yesNum[1], noNum[1]) BuildCharts.YesNoPie(subFolder + '\\pie322c.png', yesNum[2], noNum[2]) BuildCharts.YesNoPie(subFolder + '\\pie322d.png', 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 buildGraph7a(subFolder, G0): print '\nBuilding ', subFolder + '\\graph7a.txt' G7a = aGraphObject(G0, [4, 8], 'red') saveToFile(G7a, subFolder + '\\graph7a.txt') BuildTex.addMacros(subFolder, 'links6', str(len(G7a.edges())))