def create_testbeam_html_pages(self):
        testbeams = [self.results[x].getint('RunInfo', 'runno') / 100 for x in self.results]
        testbeams = sorted(list(set(testbeams)))
        testbeamDate = utilities.get_dict_from_file('%s/testBeamDates.cfg' % self.config_dir)
        for testbeam in testbeams:
            key = '%s' % testbeam
            if not key in testbeamDate:
                testbeamDate[key] = 'unkown'
            irr = utilities.get_dict_from_file('%s/irradiationType.cfg' % self.config_dir)
        allDiamonds = self.get_list_of_diamonds(self.results)
        allDiamonds = sorted(allDiamonds, key=lambda z: '%s-%s' % (irr.get(z, 'unkown'), z))
        allDiamondLinks = map(lambda z: HTML.link('%s (%s)' % (z, irr.get(z, 'unknown')), 'results_%s.html' % z),
                              allDiamonds)
        testBeamLinkTable = []
        header = [HTML.link('Test Beam', 'results.html')] + allDiamondLinks

        for testbeam in testbeams:
            results = filter(lambda z: self.results[z].getint('RunInfo', 'runno') / 100 == testbeam, self.results)
            results = {key: self.results[key] for key in results}
            diamonds = self.get_list_of_diamonds(results)
            # results = sorted(results,key=itemgetter(mapping['RunNo'],mapping['dia'],mapping['corrected']))

            print testbeam, len(results), diamonds
            fileName = '%s/results_%sXX.html' % (self.config.get('HTML', 'outputDir'), testbeam)
            fileName = fileName.replace('//', '/')
            # raw_input(fileName)
            self.create_html_overview_table(results, fileName)
            fileName = 'results_%sXX.html' % testbeam
            row = [HTML.link('%sXX - %s ' % (testbeam, testbeamDate['%s' % testbeam]), fileName)] + map(
                lambda z: z in diamonds, allDiamonds)
            testBeamLinkTable.append(row)
        htmlcode = HTML.table(testBeamLinkTable, header_row=header)
        fileName = '%s/results_testBeams.html' % self.config.get('HTML', 'outputDir')
        utilities.save_html_code(fileName, htmlcode)
def get_results(results):
    newResults2 = []
    irradiationMap = utilities.get_dict_from_file('irradiationType.cfg')
    for result in results:
        return
        print result, result.sections()
        result['RunInfo']

        runNo = result['RunInfo']['RunNo']
        runDes = result['RunInfo']['descr.']
        corrected = result['RunInfo']['corrected']
        diamond = result['RunInfo']['dia']
        voltage = result['RunInfo']['Voltage']
        repeaterCard = result['RunInfo']['RepeaterCardNo']
        currentBegin = result['RunInfo']['currentBegin']
        currentEnd = result['RunInfo']['currentEnd']
        if irradiationMap.has_key(diamond):
            irradiation = irradiationMap[diamond]
        else:
            irradiation = ''
        result['RunInfo']['Irradiation'] = irradiation
        newResults2.append(
            ['%s' % runNo, diamond, '%s' % corrected, '%s' % voltage, '%s' % repeaterCard, '%s' % currentBegin,
             '%s' % currentEnd, irradiation])
    return newResults2
def create_testbeam_html_pages(newResults, mapping):
    testbeams = map(lambda x: int(x[mapping['RunNo']]) / 100, newResults)
    testbeams = sorted(list(set(testbeams)))
    testbeamDate = {110: 'Aug 2007', 120: 'Oct 2007', 130: 'Aug 2008',
                    140: 'June 2009', 141: 'Sept 2009', 142: 'Nov 2009',
                    150: 'june 2010', 151: 'Aug 2010', 152: 'Oct 2010',
                    160: 'June 2011', 161: 'Aug 2011', 162: 'Sept 2011', 163: 'Oct 2011',
                    170: 'July 2012', 171: 'Aug 2012', 172: 'Oct 2012', 173: 'Nov 2012'}
    for testbeam in testbeams:
        if not testbeamDate.has_key(testbeam):
            testbeamDate[testbeam] = 'unkown'
    allDiamonds = map(lambda x: x[mapping['dia']], newResults)
    irr = utilities.get_dict_from_file('irradiationType.cfg')
    allDiamonds = sorted(list(set(allDiamonds)))
    allDiamonds = sorted(allDiamonds, key=lambda x: '%s-%s' % (irr.get(x, '??'), x))
    allDiamondLinks = map(lambda x: HTML.link('%s (%s)' % (x, irr.get(x, '?')), 'results_%s.html' % x), allDiamonds)
    print testbeams
    testBeamLinkTable = []
    header = [HTML.link('Test Beam', 'results.html')] + allDiamondLinks
    for testbeam in testbeams:
        results = filter(lambda x: int(x[mapping['RunNo']]) / 100 == testbeam, newResults)
        diamonds = list(set(map(lambda x: x[mapping['dia']], results)))
        results = sorted(results, key=itemgetter(mapping['RunNo'], mapping['dia'], mapping['corrected']))

        print testbeam, len(results), diamonds
        fileName = 'results_%sXX.html' % testbeam
        create_html_overview_table(results, fileName, mapping)
        row = [HTML.link('%sXX - %s ' % (testbeam, testbeamDate[testbeam]), fileName)] + map(lambda x: x in diamonds,
                                                                                             allDiamonds)
        testBeamLinkTable.append(row)
    htmlcode = HTML.table(testBeamLinkTable, header_row=header)
    fileName = 'results_testBeams.html'
    with open(fileName, "w") as f:
        f.write('%s' % htmlcode)

    pass
示例#4
0
 def get_irradiation_map(self):
     fileName = self.config.get('Irradiations', 'fileName')
     return utilities.get_dict_from_file(fileName)
 def get_irradiation_map(self):
     fileName = self.config.get("Irradiations", "fileName")
     return utilities.get_dict_from_file(fileName)