From 77ef1d69235dcd44ea8308062ff134dc8893f176 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 7 Mar 2013 18:21:06 +0100 Subject: [PATCH] fix calculation: ignore empty groups, fix calculation of feedback index --- knowledge/survey/README.txt | 4 ++-- knowledge/survey/questionnaire.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/knowledge/survey/README.txt b/knowledge/survey/README.txt index de5d807..48545ed 100644 --- a/knowledge/survey/README.txt +++ b/knowledge/survey/README.txt @@ -56,6 +56,6 @@ Grouped Feedback Items >>> qugroup.feedbackItems = [fi01, fi02, fi03] >>> res = resp01.getGroupedResult() - >>> for fi, score in res: + >>> for qugroup, fi, score in res: ... print fi.text, round(score, 2) - fi02 1.17 + fi02 1.75 diff --git a/knowledge/survey/questionnaire.py b/knowledge/survey/questionnaire.py index 853bfbf..975871d 100644 --- a/knowledge/survey/questionnaire.py +++ b/knowledge/survey/questionnaire.py @@ -102,7 +102,8 @@ class Response(object): value = qu.answerRange - value - 1 score += value scoreMax += qu.answerRange - 1 - relScore = score / scoreMax - wScore = relScore * (len(qugroup.feedbackItems) - 1) - result.append((qugroup.feedbackItems[int(wScore)], wScore)) + if scoreMax > 0.0: + relScore = score / scoreMax + wScore = relScore * len(qugroup.feedbackItems) - 0.00001 + result.append((qugroup, qugroup.feedbackItems[int(wScore)], wScore)) return result