From c6e7bfed9b6563b0c567997f063a8259ec548519 Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Tue, 5 Jun 2012 14:54:04 -0500 Subject: web_reports: Trap KeyError from duplicate metrics In the unlikely event two interactions point to the same Metric, we could get a key error if they aren't in the same interaction set. --- src/lib/Bcfg2/Server/Reports/reports/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/Bcfg2/Server/Reports/reports/views.py b/src/lib/Bcfg2/Server/Reports/reports/views.py index 38a219167..0b8cb620a 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/views.py +++ b/src/lib/Bcfg2/Server/Reports/reports/views.py @@ -364,7 +364,11 @@ def display_timing(request, timestamp=None): for inter in inters] for metric in Performance.objects.filter(interaction__in=list(mdict.keys())).all(): for i in metric.interaction.all(): - mdict[i][metric.metric] = metric.value + try: + mdict[i][metric.metric] = metric.value + except KeyError: + #In the unlikely event two interactions share a metric, ignore it + pass return render_to_response('displays/timing.html', {'metrics': list(mdict.values()), 'timestamp': timestamp}, -- cgit v1.2.3-1-g7c22