Beispiel #1
0
def Main():
    while True:
        usrInput = None
        if sys.version_info < (3,0):
            usrInput = raw_input("Input: ").lower()
        else:
            usrInput = input("Input: ").lower()
            
        if (usrInput == ""):
            break

        exp = ParseInput.ParseInput(usrInput)
        
        print("--------------")
        variable = None
        for var in exp.variables:
            if var.variable == 'x':
                variable = var
                break
        if variable == None:
            if len(exp.variables) >0:
                variable = exp.variables[0]
            else:
                variable = Expression.VariableElement('x')
                
        print("f("+str(variable)+") = "+ParseInput.blockToStr(exp,""))
        derivative = Derivative.differentiate(exp,variable,makeNice=True)
        print("f'("+str(variable)+") = "+ ParseInput.blockToStr(derivative, ""))
Beispiel #2
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)
Beispiel #3
0
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'
Beispiel #4
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)
Beispiel #5
0
def computeParticipatedManWomen(subFolder, statData) :
    values = ParseInput.extractAnswers(statData, [9])
    men = values.count('14')
    women = values.count('15')
    BuildTexts.addMacro(subFolder, 'nParticipated', str(men+women))
    BuildTexts.addMacro(subFolder, 'numMen', str(men))
    BuildTexts.addMacro(subFolder, 'numWomen', str(women))
Beispiel #6
0
def computeAllBossTeacher(subFolder, statData) :
    values = ParseInput.extractAnswers(statData, [8])
    boss = values.count('201') + values.count('202')
    teacher = values.count('203')

    BuildTexts.addMacro(subFolder, 'nTotal', str(len(statData)))
    BuildTexts.addMacro(subFolder, 'numBoss', str(boss))
    BuildTexts.addMacro(subFolder, 'numTeacher', str(teacher))
Beispiel #7
0
 def differentiate(self, variable):
     #f = Tools.IsFunction(self.derivative)
     #if (f!=False):
     #     return p
     # raise Exception("feels bad")
     import ParseInput
     deriv = ParseInput.ParseString(self.derivative)
     # print("part deriv "+self.name+" has quotientblock before replacing vars: "+str(hasBlockType(deriv)))
     deriv = replaceBlockWithExpr(deriv, self.dev_variable, variable,
                                  ExpressionBlock)
     #print("part deriv "+self.name+" has quotientblock after replacing vars: "+str(hasBlockType(deriv)))
     return deriv
Beispiel #8
0
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)
Beispiel #9
0
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)
Beispiel #10
0
def compute23d(subFolder, statData): # aggregate
    print '\nComputing values for slide 2.3.4.'
    values = ParseInput.extractAnswers(statData, [30])

    yesNum = values.count('83') + values.count('84')
    noNum = values.count('85') + values.count('86')
    [yesNumP, noNumP] = StatValues.percent([yesNum,noNum])

    BuildTexts.addMacro(subFolder, 'valBCDyesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valBCDnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valBCDyesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valBCDnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder, 'pie234.svg', yesNumP, noNumP)
Beispiel #11
0
def compute31a(subFolder, statData): # aggregate
    print '\nComputing values for slide 3.1.1.'
    values = ParseInput.extractAnswers(statData, [43])

    yesNum = values.count('103') + values.count('104')
    noNum = values.count('105') + values.count('106')
    [yesNumP, noNumP] = StatValues.percent([yesNum,noNum])

    BuildTexts.addMacro(subFolder, 'valCAAyesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valCAAnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valCAAyesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valCAAnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder, 'pie311.svg', yesNumP, noNumP)
Beispiel #12
0
def compute23b(subFolder, statData): # aggregate
    print '\nComputing values for slide 2.3.2.'
    values = ParseInput.extractAnswers(statData, [52])

    yesNum = values.count('99') + values.count('100')
    noNum = values.count('101') + values.count('102')
    [yesNumP, noNumP] = StatValues.percent([yesNum,noNum])

    BuildTexts.addMacro(subFolder, 'valBCByesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valBCBnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valBCByesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valBCBnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder, 'pie232.svg', yesNumP, noNumP)
Beispiel #13
0
def compute23a(subFolder, statData): # aggregate
    print '\nComputing values for slide 2.3.1.'
    values = ParseInput.extractAnswers(statData, [23])

    yesNum = values.count('61')
    noNum = values.count('62')
    [yesNumP, noNumP] = StatValues.percent([yesNum,noNum])

    BuildTexts.addMacro(subFolder, 'valBCAyesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valBCAnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valBCAyesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valBCAnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder, 'pie231.svg', yesNumP, noNumP)
Beispiel #14
0
def compute42c(subFolder, statData): # one question 
    print '\nComputing values for slide 4.2.c.'
    values = ParseInput.extractAnswers(statData, [54])

    yesNum = values.count('87') + values.count('88')
    noNum = values.count('89') + values.count('90')
    [yesNumP, noNumP] = StatValues.percent([yesNum,noNum])

    BuildTexts.addMacro(subFolder, 'valDBCyesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valDBCnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valDBCyesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valDBCnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder,'pie423.svg', yesNumP, noNumP)
Beispiel #15
0
def computeEducation(subFolder, statData) :
    values = ParseInput.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
    BuildTexts.addMacrosList(subFolder, 'numEdu', eduStat)
Beispiel #16
0
def compute32a(subFolder, statData): # aggregate
    print '\nComputing values for slide 3.2.1.'
    values = ParseInput.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])

    BuildTexts.addMacro(subFolder, 'valCBAyesNum', str(yesNum))
    BuildTexts.addMacro(subFolder, 'valCBAnoNum', str(noNum))
    BuildTexts.addMacro(subFolder, 'valCBAyesNP', str(yesNumP))
    BuildTexts.addMacro(subFolder, 'valCBAnoNP', str(noNumP))

    BuildCharts.YesNoPieSVG(subFolder, 'pie321.svg', yesNumP, noNumP)
Beispiel #17
0
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])
Beispiel #18
0
def compute54(subFolder, statData): # by question
    print '\nComputing values for slide 5.4.'
    values = ParseInput.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 ]

    BuildTexts.addMacro(subFolder, 'valGDyesNumA', str(yesNum[0]))
    BuildTexts.addMacro(subFolder, 'valGDyesNumB', str(yesNum[1]))
    BuildTexts.addMacro(subFolder, 'valGDnoNumA', str(noNum[0]))
    BuildTexts.addMacro(subFolder, 'valGDnoNumB', str(noNum[1]))

    BuildCharts.YesNoPieSVG(subFolder,'pie54a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder,'pie54b.svg', yesNum[1], noNum[1])
Beispiel #19
0
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])
Beispiel #20
0
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])
Beispiel #21
0
def compute22c(subFolder, statData): # by category - q19
    print '\nComputing values for slide 2.2.3.'
    values = ParseInput.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 ]

    BuildTexts.addMacrosList(subFolder, 'valBBCyesNum', yesNum)
    BuildTexts.addMacrosList(subFolder, 'valBBCnoNum', noNum)

    BuildCharts.YesNoPieSVG(subFolder, 'pie223a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder, 'pie223b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder, 'pie223c.svg', yesNum[2], noNum[2])
    BuildCharts.YesNoPieSVG(subFolder, 'pie223d.svg', yesNum[3], noNum[3])
    BuildCharts.YesNoPieSVG(subFolder, 'pie223e.svg', yesNum[4], noNum[4])
Beispiel #22
0
def compute21c(subFolder, statData): # by category - q19
    print '\nComputing values for slide 2.1.3.'
    values = ParseInput.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 ]

    BuildTexts.addMacrosList(subFolder, 'valBACyesNum', yesNum)
    BuildTexts.addMacrosList(subFolder, 'valBACnoNum', noNum)

    BuildCharts.YesNoPieSVG(subFolder, 'pie213a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder, 'pie213b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder, 'pie213c.svg', yesNum[2], noNum[2])
    BuildCharts.YesNoPieSVG(subFolder, 'pie213d.svg', yesNum[3], noNum[3])
    BuildCharts.YesNoPieSVG(subFolder, 'pie213e.svg', yesNum[4], noNum[4])
Beispiel #23
0
def compute21d(subFolder, statData): # by question
    print '\nComputing values for slide 2.1.4.'
    values = ParseInput.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 ]

    BuildTexts.addMacrosList(subFolder, 'valBADyesNum', yesNum)
    BuildTexts.addMacrosList(subFolder, 'valBADnoNum', noNum)

    BuildCharts.YesNoPieSVG(subFolder, 'pie214a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder, 'pie214b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder, 'pie214c.svg', yesNum[2], noNum[2])
    BuildCharts.YesNoPieSVG(subFolder, 'pie214d.svg', yesNum[3], noNum[3])
    BuildCharts.YesNoPieSVG(subFolder, 'pie214e.svg', yesNum[4], noNum[4])
Beispiel #24
0
def compute23c(subFolder, statData): # aggregate (1 question)
    print '\nComputing values for slide 2.3.3.'
    values = ParseInput.extractAnswers(statData, [53])

    ansA = values.count('120') 
    ansB = values.count('121')
    ansC = values.count('122') 
    [ansAp, ansBp, ansCp] = StatValues.percent([ansA, ansB, ansC])

    BuildTexts.addMacro(subFolder, 'valBCCansA', str(ansA))
    BuildTexts.addMacro(subFolder, 'valBCCansB', str(ansB))
    BuildTexts.addMacro(subFolder, 'valBCCansC', str(ansC))
    BuildTexts.addMacro(subFolder, 'valBCCanAp', str(ansAp))
    BuildTexts.addMacro(subFolder, 'valBCCanBp', str(ansBp))
    BuildTexts.addMacro(subFolder, 'valBCCanCp', str(ansCp))
    
    BuildCharts.Pie(subFolder, 'pie233.svg', [ansAp, ansBp, ansCp])
Beispiel #25
0
def compute32d(subFolder, statData): # by question
    print '\nComputing values for slide 3.2.4.'
    values = ParseInput.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 ]

    BuildTexts.addMacro(subFolder, 'valCBDyesNumA', str(yesNum[0]))
    BuildTexts.addMacro(subFolder, 'valCBDyesNumB', str(yesNum[1]))
    BuildTexts.addMacro(subFolder, 'valCBDyesNumC', str(yesNum[2]))
    BuildTexts.addMacro(subFolder, 'valCBDnoNumA', str(noNum[0]))
    BuildTexts.addMacro(subFolder, 'valCBDnoNumB', str(noNum[1]))
    BuildTexts.addMacro(subFolder, 'valCBDnoNumC', str(noNum[2]))

    BuildCharts.YesNoPieSVG(subFolder, 'pie324a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder, 'pie324b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder, 'pie324c.svg', yesNum[2], noNum[2])
Beispiel #26
0
def computeWorkHereYears(subFolder, statData):
    values = ParseInput.extractAnswers(statData, [17])
    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 
    res = [expA, expB, expC, expD]
    BuildTexts.addMacrosList(subFolder, 'numExpHere', res)
Beispiel #27
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)

    try:
        # Create graphs for the reports
        graphObject = BuildGraphs.makeGraphObject(graphData)
        BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject)
    except Exception as e:
        print e.message

    # get socio numbers
    fsocio = open(projectDir + '\\socio_table.txt', 'a')
    ftex = open(subFolder + '\\commands.tex', 'r')
    data = statData[0].split('\t')
    schoolInfo = [data[i].split('=')[1] for i in range(7)]
    fsocio.write(inputId + '\t' + '\t'.join(schoolInfo))
    for i1 in range(7):
        ftex.readline()
    for line in ftex.readlines():
        res = line.split('}')
        res[0] = res[0].replace('\\newcommand{\\links', '')
        res[1] = res[1].replace('{', '')
        print 'Socio numbers', res
        fsocio.write('\t' + res[1])

    fsocio.write('\n')
    ftex.close()
    fsocio.close()
Beispiel #28
0
def compute42a(subFolder, statData): # one question 
    print '\nComputing values for slide 4.2.a'
    values = ParseInput.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])

    BuildTexts.addMacro(subFolder, 'valDBAansAv', str(ansA))
    BuildTexts.addMacro(subFolder, 'valDBAansBv', str(ansB))
    BuildTexts.addMacro(subFolder, 'valDBAansCv', str(ansC))
    BuildTexts.addMacro(subFolder, 'valDBAansDv', str(ansD))
    BuildTexts.addMacro(subFolder, 'valDBAansAp', str(ansAp))
    BuildTexts.addMacro(subFolder, 'valDBAansBp', str(ansBp))
    BuildTexts.addMacro(subFolder, 'valDBAansCp', str(ansCp))
    BuildTexts.addMacro(subFolder, 'valDBAansDp', str(ansDp))
    
    BuildCharts.Pie(subFolder,'pie421.svg', [ansAp, ansBp, ansCp, ansDp])
Beispiel #29
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)

    try :
        # Create graphs for the reports 
        graphObject = BuildGraphs.makeGraphObject(graphData)
        BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject)
    except Exception as e:
        print e.message

    # get socio numbers
    fsocio = open (projectDir + '\\socio_table.txt','a')
    ftex = open(subFolder  + '\\commands.tex', 'r')
    data = statData[0].split('\t')
    schoolInfo = [data[i].split('=')[1] for i in range(7) ]
    fsocio.write(inputId + '\t' + '\t'.join(schoolInfo))
    for i1 in range(7) :
        ftex.readline()
    for line in ftex.readlines() :
        res = line.split('}')
        res[0] = res[0].replace('\\newcommand{\\links','')
        res[1] = res[1].replace('{','')
        print 'Socio numbers', res
        fsocio.write('\t' + res[1])

    fsocio.write('\n')
    ftex.close()
    fsocio.close()
Beispiel #30
0
def computeAge(subFolder, statData) :
    values = ParseInput.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 
    BuildTexts.addMacro(subFolder, 'numYoung', str(young))
    BuildTexts.addMacro(subFolder, 'numMidAge', str(mid))
    BuildTexts.addMacro(subFolder, 'numSenior', str(senior))
    BuildTexts.addMacro(subFolder, 'numOld', str(old))
Beispiel #31
0
def compute22e(subFolder, statData): # aggregate (1 question)
    print '\nComputing values for slide 2.2.5.'
    values = ParseInput.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])

    BuildTexts.addMacro(subFolder, 'valBBEansA', str(ansA))
    BuildTexts.addMacro(subFolder, 'valBBEansB', str(ansB))
    BuildTexts.addMacro(subFolder, 'valBBEansC', str(ansC))
    BuildTexts.addMacro(subFolder, 'valBBEansD', str(ansD))
    BuildTexts.addMacro(subFolder, 'valBBEansAp', str(ansAp))
    BuildTexts.addMacro(subFolder, 'valBBEansBp', str(ansBp))
    BuildTexts.addMacro(subFolder, 'valBBEansCp', str(ansCp))
    BuildTexts.addMacro(subFolder, 'valBBEansDp', str(ansDp))
    
    BuildCharts.Pie(subFolder, 'pie225.svg', [ansAp, ansBp, ansCp, ansDp])
Beispiel #32
0
def compute31b(subFolder, statData): # by age - q14
    print '\nComputing values for slide 3.1.2.'
    values = ParseInput.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 ]

    BuildTexts.addMacro(subFolder, 'valCAByesNumA', str(yesNum[0]))
    BuildTexts.addMacro(subFolder, 'valCAByesNumB', str(yesNum[1]))
    BuildTexts.addMacro(subFolder, 'valCAByesNumC', str(yesNum[2]))
    BuildTexts.addMacro(subFolder, 'valCAByesNumD', str(yesNum[3]))
    BuildTexts.addMacro(subFolder, 'valCABnoNumA', str(noNum[0]))
    BuildTexts.addMacro(subFolder, 'valCABnoNumB', str(noNum[1]))
    BuildTexts.addMacro(subFolder, 'valCABnoNumC', str(noNum[2]))
    BuildTexts.addMacro(subFolder, 'valCABnoNumD', str(noNum[3]))

    BuildCharts.YesNoPieSVG(subFolder, 'pie312a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder, 'pie312b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder, 'pie312c.svg', yesNum[2], noNum[2])
    BuildCharts.YesNoPieSVG(subFolder, 'pie312d.svg', yesNum[3], noNum[3])
Beispiel #33
0
def compute52(subFolder, statData): # by age - q14
    print '\nComputing values for slide 5.2.'
    values = ParseInput.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 ]

    BuildTexts.addMacro(subFolder, 'valGByesNumA', str(yesNum[0]))
    BuildTexts.addMacro(subFolder, 'valGByesNumB', str(yesNum[1]))
    BuildTexts.addMacro(subFolder, 'valGByesNumC', str(yesNum[2]))
    BuildTexts.addMacro(subFolder, 'valGByesNumD', str(yesNum[3]))
    BuildTexts.addMacro(subFolder, 'valGBnoNumA', str(noNum[0]))
    BuildTexts.addMacro(subFolder, 'valGBnoNumB', str(noNum[1]))
    BuildTexts.addMacro(subFolder, 'valGBnoNumC', str(noNum[2]))
    BuildTexts.addMacro(subFolder, 'valGBnoNumD', str(noNum[3]))

    BuildCharts.YesNoPieSVG(subFolder,'pie52a.svg', yesNum[0], noNum[0])
    BuildCharts.YesNoPieSVG(subFolder,'pie52b.svg', yesNum[1], noNum[1])
    BuildCharts.YesNoPieSVG(subFolder,'pie52c.svg', yesNum[2], noNum[2])
    BuildCharts.YesNoPieSVG(subFolder,'pie52d.svg', yesNum[3], noNum[3])
Beispiel #34
0
def compute42b(subFolder, statData): # one question 
    print '\nComputing values for slide 4.2.b.'
    values = ParseInput.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])

    BuildTexts.addMacro(subFolder, 'valDBBansAv', str(ansA))
    BuildTexts.addMacro(subFolder, 'valDBBansBv', str(ansB))
    BuildTexts.addMacro(subFolder, 'valDBBansCv', str(ansC))
    BuildTexts.addMacro(subFolder, 'valDBBansDv', str(ansD))
    BuildTexts.addMacro(subFolder, 'valDBBansEv', str(ansE))
    BuildTexts.addMacro(subFolder, 'valDBBansAp', str(ansAp))
    BuildTexts.addMacro(subFolder, 'valDBBansBp', str(ansBp))
    BuildTexts.addMacro(subFolder, 'valDBBansCp', str(ansCp))
    BuildTexts.addMacro(subFolder, 'valDBBansDp', str(ansDp))
    BuildTexts.addMacro(subFolder, 'valDBBansEp', str(ansEp))
    
    BuildCharts.Pie(subFolder,'pie422.svg', [ansAp, ansBp, ansCp, ansDp, ansEp])
Beispiel #35
0
    city = sys.argv[1]
    #city      = 'bristol'
    eps       = 0.01
    mins      = 3
    LIMIT_num = 0
    outroot   = '../ProcessedData/' + city + '/'
    infile    = outroot + '/user_homes/centroids_filtered/' + city + '_user_homes_dbscan_' + str(eps) + '_' + str(mins) + '_' + str(LIMIT_num) + '_filtered.dat'


    create_folder(outroot + 'networks')
    create_folder(outroot + 'networks/gephi')
    create_folder(outroot + 'figures/network_data')
    

    inputs = ParseInput.get_inputs()
    bbox   = inputs[city]
    #do_all_the_networks(city, outroot, infile, bbox)


    if len(sys.argv) == 3:


        if sys.argv[2] == 'friend':

        
            print 'FRIENDS:  Create friendship network' 
            G_friends = get_user_user_friendship_network_igraph(city, outroot, infile)    

            print 'FRIENDS:  Creating gephi files...'
            get_gephi_new(G_friends, outroot, city + '_friendship')   
Beispiel #36
0
#Script for parsing command line arguments and running ilastik prep functions
#Joshua Hess
import ParseInput
import IlastikPrepOME

#Parse the command line arguments
args = ParseInput.ParseInputOME()

#Run the MultiIlastikOMEPrep function
IlastikPrepOME.MultiIlastikOMEPrep(**args)
Beispiel #37
0
    if Opts['Verb'] > 2:
        print
        print_dict(Opts)

    #
    # Parse Input Files
    #
    inigeo1 = None
    inigeo2 = None
    fingeo1 = None
    fingeo2 = None

    # Get geometries in dimer
    if Opts['FinGeo1File']:
        at1, fingeo1 = PI.read_geo(Opts['FinGeo1File'])

    if Opts['FinGeo2File']:
        at2, fingeo2 = PI.read_geo(Opts['FinGeo2File'])

    if Opts['Coup'] == 'chgs':

        # Monomer 1
        if Opts['IniGeo1File']:
            dum1, inigeo1 = PI.read_geo(Opts['IniGeo1File'])

        chgs1 = PI.read_chg(Opts['Chgs1File'])

        # Monomer 2
        if Opts['IniGeo2File']:
            dum2, inigeo2 = PI.read_geo(Opts['IniGeo2File'])
Beispiel #38
0
#Script for parsing command line arguments and running single-cell
#data extraction functions
#Joshua Hess
import ParseInput
import SingleCellDataExtraction

#Parse the command line arguments
args = ParseInput.ParseInputDataExtract()

#Run the MultiExtractSingleCells function
SingleCellDataExtraction.MultiExtractSingleCells(**args)