avoid leaking of attributes to subclasses: put in constructor instead of class

This commit is contained in:
Helmut Merz 2013-02-24 16:22:54 +01:00
parent 63163a00e7
commit 2dcd73f56f
2 changed files with 3 additions and 4 deletions

View file

@ -31,8 +31,8 @@ class IQuestionnaire(Interface):
""" A collection of questions for setting up a survey. """ A collection of questions for setting up a survey.
""" """
questions = Attribute('An ordered collection of questions.')
questionGroups = Attribute('An ordered collection of question groups (optional).') questionGroups = Attribute('An ordered collection of question groups (optional).')
questions = Attribute('An ordered collection of questions.')
responses = Attribute('A set of responses.') responses = Attribute('A set of responses.')
defaultAnswerRange = Attribute('The number of answer options to select from. ' defaultAnswerRange = Attribute('The number of answer options to select from. '
'Default value used for questions that do not ' 'Default value used for questions that do not '

View file

@ -30,12 +30,11 @@ class Questionnaire(object):
implements(IQuestionnaire) implements(IQuestionnaire)
defaultAnswerRange = 5
def __init__(self): def __init__(self):
self.questionGroups = [] self.questionGroups = []
self.questions = [] self.questions = []
self.responses = [] self.responses = []
self.defaultAnswerRange = 5
class QuestionGroup(object): class QuestionGroup(object):
@ -53,12 +52,12 @@ class Question(object):
implements(IQuestion) implements(IQuestion)
_answerRange = None _answerRange = None
revertAnswerOptions = False
def __init__(self, questionnaire, text=u''): def __init__(self, questionnaire, text=u''):
self.questionnaire = questionnaire self.questionnaire = questionnaire
self.feedbackItems = {} self.feedbackItems = {}
self.text = text self.text = text
self.revertAnswerOptions = False
def getAnswerRange(self): def getAnswerRange(self):
return self._answerRange or self.questionnaire.defaultAnswerRange return self._answerRange or self.questionnaire.defaultAnswerRange