From 9fe0f091f3cfa4c1954d9bb2ac2e0aaf76710588 Mon Sep 17 00:00:00 2001 From: Joris Dedieu Date: Thu, 5 Jan 2017 21:51:38 +0100 Subject: [PATCH] catch a division by zero in radiator while environment has no nodes (#325) * catch a division by zero in radiator while environment has no nodes --- puppetboard/app.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/puppetboard/app.py b/puppetboard/app.py index a2d38d2..4675e7e 100644 --- a/puppetboard/app.py +++ b/puppetboard/app.py @@ -1096,14 +1096,24 @@ def radiator(env): else: stats['unchanged'] += 1 - stats['changed_percent'] = int(100 * stats['changed'] / float(num_nodes)) - stats['failed_percent'] = int(100 * stats['failed'] / float(num_nodes)) - stats['noop_percent'] = int(100 * stats['noop'] / float(num_nodes)) - stats['skipped_percent'] = int(100 * stats['skipped'] / float(num_nodes)) - stats['unchanged_percent'] = int(100 * (stats['unchanged'] / - float(num_nodes))) - stats['unreported_percent'] = int(100 * (stats['unreported'] / - float(num_nodes))) + try: + stats['changed_percent'] = int(100 * (stats['changed'] / + float(num_nodes))) + stats['failed_percent'] = int(100 * stats['failed'] / float(num_nodes)) + stats['noop_percent'] = int(100 * stats['noop'] / float(num_nodes)) + stats['skipped_percent'] = int(100 * (stats['skipped'] / + float(num_nodes))) + stats['unchanged_percent'] = int(100 * (stats['unchanged'] / + float(num_nodes))) + stats['unreported_percent'] = int(100 * (stats['unreported'] / + float(num_nodes))) + except ZeroDivisionError: + stats['changed_percent'] = 0 + stats['failed_percent'] = 0 + stats['noop_percent'] = 0 + stats['skipped_percent'] = 0 + stats['unchanged_percent'] = 0 + stats['unreported_percent'] = 0 return render_template( 'radiator.html',