コード例 #1
0
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)
コード例 #2
0
ファイル: BuildAll.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #3
0
ファイル: BuildAll.py プロジェクト: vlasova-evgeniya/RPyAppl1
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'
コード例 #4
0
ファイル: StatValues2.py プロジェクト: ryavorsky/Direktor4web
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)
コード例 #5
0
ファイル: StatValues2.py プロジェクト: ryavorsky/Direktor4web
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)
コード例 #6
0
ファイル: StatValues3.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #7
0
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)
コード例 #8
0
ファイル: StatValues2.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #9
0
ファイル: StatValues2.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #10
0
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)
コード例 #11
0
ファイル: StatValues4.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #12
0
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)
コード例 #13
0
ファイル: StatValues2.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #14
0
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)
コード例 #15
0
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)
コード例 #16
0
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)
コード例 #17
0
ファイル: StatValues5.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #18
0
ファイル: StatValues5.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #19
0
ファイル: StatValues3.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #20
0
ファイル: StatValues5.py プロジェクト: ryavorsky/RPyAppl1
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)
コード例 #21
0
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 ]
コード例 #22
0
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)
コード例 #23
0
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)
コード例 #24
0
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))
コード例 #25
0
ファイル: StatValues1.py プロジェクト: ryavorsky/RPyAppl1
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))
コード例 #26
0
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))
コード例 #27
0
ファイル: StatValues1.py プロジェクト: ryavorsky/RPyAppl1
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))
コード例 #28
0
ファイル: StatValues2.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #29
0
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])
コード例 #30
0
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])
コード例 #31
0
ファイル: StatValues3.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #32
0
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]))
コード例 #33
0
ファイル: StatValues1.py プロジェクト: ryavorsky/RPyAppl1
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]))
コード例 #34
0
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])
コード例 #35
0
ファイル: StatValues4.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #36
0
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])
コード例 #37
0
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])
コード例 #38
0
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])
コード例 #39
0
ファイル: StatValues5.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #40
0
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])
コード例 #41
0
ファイル: StatValues5.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #42
0
ファイル: StatValues3.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #43
0
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])
コード例 #44
0
ファイル: StatValues4.py プロジェクト: ryavorsky/RPyAppl1
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])
コード例 #45
0
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])
コード例 #46
0
ファイル: StatValues2.py プロジェクト: ryavorsky/Direktor4web
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])
コード例 #47
0
ファイル: StatValues2.py プロジェクト: ryavorsky/Direktor4web
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])
コード例 #48
0
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])
コード例 #49
0
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])
コード例 #50
0
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])
コード例 #51
0
ファイル: StatValues2.py プロジェクト: ryavorsky/Direktor4web
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])
コード例 #52
0
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])
コード例 #53
0
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])
コード例 #54
0
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])
コード例 #55
0
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))
コード例 #56
0
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]))
コード例 #57
0
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))
コード例 #58
0
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()