def index(): """Main page route.""" overall_status = dict() count = dict() count['jobs'] = Job.count() count['DFGs'] = DFG.count() count['builds'] = Job.count_builds() count['squads'] = DFG.count(squads=True) builds_count_li, dates_li = Job.get_builds_count_per_date() for res in jenkins_const.RESULTS: overall_status[res] = Job.count(last_build_res=res) return render_template('main/index.html', count=count, overall_status=overall_status, builds_count_li=list(reversed((builds_count_li))), dates_li=list(reversed(dates_li)))
def get_DFGs_result_summary(DFGs): """Given a list of DFG names, returns a dictionary with the summary of a given DFG CI jobs. DFGs_summary = {'Network': {'FAILED': 2, 'PASSED': 12}, 'Compute': {'FAILED': 3, ... } """ DFGs_summary = dict() for DFG_name in DFGs: DFGs_summary[DFG] = {} for res in jenkins_const.RESULTS: DFGs_summary[DFG_name][res] = Job.count( name='DFG-{}'.format(DFG_name), last_build_res=res) return DFGs_summary
def DFGs(): """All DFGs.""" title = 'DFGs' DFGs_data = [] all_DFGs = DFG.get_all_DFGs_based_on_jobs() for DFG_name in all_DFGs: uf = url_for('DFG.summary', DFG_name=DFG_name) DFGs_data.append({ 'name': DFG_name, 'num_of_jobs': Job.count(name="DFG-{}".format(DFG_name)), 'summary_url_for': uf }) return render_template('DFG/all.html', DFGs=DFGs_data, title=title)
def components(): """All components.""" title = 'Components' components_data = [] DFGs = DFG.find() for DFG_db in DFGs: for component in DFG_db['components']: uf = url_for('DFG.component_summary', DFG_name=DFG_db['name'], component_name=component) count = Job.count(component) components_data.append({ 'name': component, 'num_of_jobs': count, 'summary_url_for': uf }) return render_template('DFG/all.html', DFGs=components_data, title=title)
def squads(): """All squads.""" title = 'Squads' squads_data = [] DFGs = DFG.find() for DFG_db in DFGs: if DFG_db['squads']: for squad in DFG_db['squads']: uf = url_for('DFG.squad_summary', DFG_name=DFG_db['name'], squad_name=squad) num_of_jobs = 0 for component in DFG_db['squad_to_components'][squad]: num_of_jobs = num_of_jobs + Job.count(component) squads_data.append({ 'name': squad, 'num_of_jobs': num_of_jobs, 'summary_url_for': uf }) return render_template('DFG/all.html', DFGs=squads_data, title=title)