Example #1
0
    def get_modules(self):
        def get_help_text(ent):
            ment = ent.find('helptext')
            return ment.text if ment != None else None

        for module in self.modules.iter('module'):
            module_out = {
                'header': module.find('header').text,
                'name': module.find('name').text,
                'questions': []
            }
            for question in module.find('questions').iter('question'):
                module_out['questions'].append({
                    'varname':
                    question.find('varname').text,
                    'questiontext':
                    question.find('questiontext').text,
                    'helptext':
                    get_help_text(question),
                    'bonus':
                    question.find('bonus').text
                    if question.find('bonus') != None else None,
                    'valuetype':
                    question.find('valuetype').text,
                    'options':
                    self.get_options(question),
                    'content':
                    Question.parse_content_from_xml(
                        question.find('valuetype').text,
                        question.find('content'))
                })
            yield module_out
Example #2
0
    def get_modules(self):
        def get_help_text(ent):
            ment = ent.find('helptext')
            return ment.text if ment != None else None

        for module in self.modules.iter('module'):
            module_out = {
                'header': module.find('header').text,
                'name': module.find('name').text,
                'questions': []
            }
            for question in module.find('questions').iter('question'):
                lexedCondition = None
                if question.find('condition') != None:
                    conditionStr = question.find('condition').text
                    lex = Lexer()
                    status = Status()
                    if not lex.can_import(conditionStr, status):
                        raise Exception(status.error)
                    lexedCondition = jsonpickle.encode(lex)
                module_out['questions'].append({
                    'varname':
                    question.find('varname').text,
                    'condition':
                    lexedCondition,
                    'questiontext':
                    question.find('questiontext').text,
                    'helptext':
                    get_help_text(question),
                    'bonus':
                    question.find('bonus').text
                    if question.find('bonus') != None else None,
                    'bonuspoints':
                    float(question.find('bonuspoints').text)
                    if question.find('bonuspoints') != None else 0.0,
                    'valuetype':
                    question.find('valuetype').text,
                    'options':
                    self.get_options(question),
                    'content':
                    Question.parse_content_from_xml(
                        question.find('valuetype').text,
                        question.find('content'))
                })
            yield module_out
Example #3
0
 def get_modules(self):
     def get_help_text(ent) :
         ment = ent.find('helptext')
         return ment.text if ment != None else None
     for module in self.modules.iter('module'):
         module_out = {'header' : module.find('header').text,
                       'name' : module.find('name').text,
                       'questions' : []}
         for question in module.find('questions').iter('question'):
             module_out['questions'].append({'varname' : question.find('varname').text,
                                             'questiontext' : question.find('questiontext').text,
                                             'helptext' : get_help_text(question),
                                             'bonus' : question.find('bonus').text if question.find('bonus') != None else None,
                                             'valuetype' : question.find('valuetype').text,
                                             'options' : self.get_options(question),
                                             'content' : Question.parse_content_from_xml(question.find('valuetype').text,
                                                                                         question.find('content'))})
         yield module_out