rename 'ResultElement' to 'FeedbackItem'
This commit is contained in:
parent
952f2a989b
commit
4d9844391e
3 changed files with 17 additions and 17 deletions
|
@ -13,14 +13,14 @@ Let's first set up a questionaire.
|
|||
|
||||
We now assign result elements with the questions of this questionnaire.
|
||||
|
||||
>>> from cybertools.knowledge.survey.questionnaire import ResultElement
|
||||
>>> re01 = ResultElement('re01')
|
||||
>>> re02 = ResultElement('re02')
|
||||
>>> re03 = ResultElement('re03')
|
||||
>>> from cybertools.knowledge.survey.questionnaire import FeedbackItem
|
||||
>>> re01 = FeedbackItem('re01')
|
||||
>>> re02 = FeedbackItem('re02')
|
||||
>>> re03 = FeedbackItem('re03')
|
||||
|
||||
>>> qu01.resultElements = {re01: 0.8, re03: 0.2}
|
||||
>>> qu02.resultElements = {re01: 0.3, re02: 0.7, re03: 0.1}
|
||||
>>> qu03.resultElements = {re01: 0.2, re03: 0.9}
|
||||
>>> qu01.feedbackItems = {re01: 0.8, re03: 0.2}
|
||||
>>> qu02.feedbackItems = {re01: 0.3, re02: 0.7, re03: 0.1}
|
||||
>>> qu03.feedbackItems = {re01: 0.2, re03: 0.9}
|
||||
|
||||
|
||||
Responses
|
||||
|
|
|
@ -45,16 +45,16 @@ class IQuestion(Interface):
|
|||
text = Attribute('The question asked.')
|
||||
questionnaire = Attribute('The questionnaire this question belongs to.')
|
||||
answerOptions = Attribute('A sequence of answer options to select from.')
|
||||
resultElements = Attribute('A mapping with result elements as keys and '
|
||||
feedbackItems = Attribute('A mapping with feedback items as keys and '
|
||||
'corresponding relevance factors as values.')
|
||||
|
||||
|
||||
class IResultElement(Interface):
|
||||
class IFeedbackItem(Interface):
|
||||
""" Some text (e.g. a recommendation) or some other kind of information
|
||||
that may be deduced from the res)ponses to a questionnaire.
|
||||
that may be deduced from the responses to a questionnaire.
|
||||
"""
|
||||
|
||||
text = Attribute('A text representing this result element.')
|
||||
text = Attribute('A text representing this feedback item.')
|
||||
|
||||
|
||||
class IResponse(Interface):
|
||||
|
|
|
@ -22,7 +22,7 @@ Questionnaires, questions and other stuff needed for surveys.
|
|||
|
||||
from zope.interface import implements
|
||||
from cybertools.knowledge.survey.interfaces import IQuestionnaire, IQuestion
|
||||
from cybertools.knowledge.survey.interfaces import IResultElement, IResponse
|
||||
from cybertools.knowledge.survey.interfaces import IFeedbackItem, IResponse
|
||||
|
||||
|
||||
class Questionnaire(object):
|
||||
|
@ -43,7 +43,7 @@ class Question(object):
|
|||
|
||||
def __init__(self, questionnaire, text=u''):
|
||||
self.questionnaire = questionnaire
|
||||
self.resultElements = {}
|
||||
self.feedbackItems = {}
|
||||
self.text = text
|
||||
|
||||
def getAnswerOptions(self):
|
||||
|
@ -53,9 +53,9 @@ class Question(object):
|
|||
answerOptions = property(getAnswerOptions, setAnswerOptions)
|
||||
|
||||
|
||||
class ResultElement(object):
|
||||
class FeedbackItem(object):
|
||||
|
||||
implements(IResultElement)
|
||||
implements(IFeedbackItem)
|
||||
|
||||
def __init__(self, text=u''):
|
||||
self.text = text
|
||||
|
@ -73,7 +73,7 @@ class Response(object):
|
|||
def getResult(self):
|
||||
result = {}
|
||||
for question, value in self.values.items():
|
||||
for re, rf in question.resultElements.items():
|
||||
result[re] = result.get(re, 0.0) + rf * value
|
||||
for fi, rf in question.feedbackItems.items():
|
||||
result[fi] = result.get(fi, 0.0) + rf * value
|
||||
#print re.text, rf, value
|
||||
return sorted(result.items(), key=lambda x: -x[1])
|
||||
|
|
Loading…
Add table
Reference in a new issue