def test_func(self): root = self.fixture() request = testing.DummyRequest() init_request_methods(request) request.root = root question_type = self._fut(request, root['questions']['q1']) self.assertTrue(IQuestionType.providedBy(question_type))
def get_question_widget(request, context): """ :param context: Question or QuestionType instance. :return: QuestionWidget instance specified by the QuestionType. """ if IQuestion.providedBy(context): context = get_question_type(request, context) if not IQuestionType.providedBy(context): raise TypeError("context must be a Question or QuestionType object") #pragma: no coverage return request.registry.queryAdapter(context, IQuestionWidget, name = context.input_widget)
def get_all_choices(question, request, only_from_type = False, locale_name = None, include_omitted = False): """ :return: Choice objects :rtype: List """ if locale_name == None: locale_name = request.locale_name question_type = None if IQuestion.providedBy(question): question_type = request.get_question_type(question) elif IQuestionType.providedBy(question): question_type = question question = None else: raise TypeError("question must be either a QuestionType or Question object.") #Get from type choices = list(question_type.get_choices(locale_name)) if question and only_from_type == False: choices.extend(question.get_choices(locale_name)) if include_omitted == False: choices = [x for x in choices if x.omit_from_score_count == False] return choices
def question_type(self): if IQuestionType.providedBy(self.context): return self.context return self.resolve_uid(self.context.question_type)