<%! from crab import CrabEvent, CrabStatus %> Crab Report ${summary('error', 'Jobs with Errors')} ${summary('warning', 'Jobs with Warnings')} ${summary('ok', 'Successful Jobs')} <%def name="summary(section, title)"> <% jobs = getattr(report, section) %> % if jobs:

${title | h}

% for id_ in jobs: <% info = report.info[id_] %> % endfor
${info['host'] | h} ${info['user'] | h} ${info['title'] | h}
% endif

Event Listing

% for id_ in set.union(report.error, report.warning, report.ok): <% info = report.info[id_] %>

${info['user'] | h} @ ${info['host'] | h } : ${info['title'] | h}

% for event in report.events[id_]: % if event['type'] == CrabEvent.FINISH: % else: % endif % if event['type'] == CrabEvent.FINISH and report.stdout: % endif % endfor
${CrabEvent.get_name(event['type']) | h} ${CrabStatus.get_name(event['status']) | h} ${CrabStatus.get_name(event['status']) | h}${event['datetime'] | h} % if event['eventid'] in report.stdout and report.stdout[event['eventid']]:
${report.stdout[event['eventid']].strip() | h}
% endif % if event['eventid'] in report.stderr and report.stderr[event['eventid']]: % if event['eventid'] in report.stdout and report.stdout[event['eventid']]:

Standard error:

% endif
${report.stderr[event['eventid']].strip() | h}
% endif
% endfor