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 create_diamond_html_pages(self): diamonds = self.get_list_of_diamonds(self.results) diamondLinkList = [] for diamond in diamonds: print 'Create Page for diamond: "%s"' % diamond results = filter(lambda x: self.results[x].get('RunInfo', 'dia') == diamond, self.results) results = {key: self.results[key] for key in results} fileName = '%s/results_%s.html' % (self.config.get('HTML', 'outputDir'), diamond) diamondLinkList.append(HTML.link(diamond, 'results_%s.html' % diamond)) self.create_html_overview_table(results, fileName) htmlcode = HTML.list(diamondLinkList) fileName = '%s/results_diamonds.html' % self.config.get('HTML', 'outputDir') if self.verbosity: print 'save diamond file to: "%s"' % fileName utilities.save_html_code(fileName, htmlcode) pass
def create_html_overview_table(self, newResults, html_file_name, sort='standard'): absolutePath = self.config.get('HTML', 'absolutePath') link = '%s/results_testBeams.html' % absolutePath htmlcode = HTML.link('Test Beam Overview', link) self.set_header() if sort == 'svn': sortedKeys = self.sort_results_svn(newResults) elif sort == 'time': sortedKeys = self.sort_results_time(newResults) else: sortedKeys = self.sort_results(newResults) rows = self.get_content_rows(newResults, sortedKeys) htmlcode += HTML.table(rows, header_row=self.headers) # html_file_name = html_file_name.replace('/','_') if 'XX' in html_file_name: try: testBeam = html_file_name.split('_')[-1].split('.')[0] htmlcode += '<BR>' htmlcode += HTML.link('Run_Log_%s' % testBeam, '%s/%s.txt' % (self.config.get('HTML', 'RunLog'), testBeam)) except: print 'could not create link for %s' % html_file_name utilities.save_html_code(html_file_name, htmlcode)