Beispiel #1
0
 def get_survey(self):
     if not hasattr(self, "_survey"):
         try:
             builder = SurveyElementBuilder()
             self._survey = \
                 builder.create_survey_element_from_json(self.json)
         except ValueError:
             xml = b(bytearray(self.xml, encoding='utf-8'))
             self._survey = create_survey_element_from_xml(xml)
     return self._survey
Beispiel #2
0
def build_survey_from_history(xform, __version__):
    if not XformHistory.objects.filter(xform=xform, version=__version__).exists():
        return False
    history = XformHistory.objects.get(xform=xform, version=__version__)
    try:
        builder = SurveyElementBuilder()
        survey =  builder.create_survey_element_from_json(history.json)
    except ValueError:
        xml = bytes(bytearray(history.xml, encoding='utf-8'))
        survey = create_survey_element_from_xml(xml)

    return survey
Beispiel #3
0
def check_version_set(survey):
    """
    Checks if the version has been set in the xls file and if not adds
    the default version in this datetime (yyyymmddhhmm) format.
    """

    # get the json and check for the version key
    survey_json = json.loads(survey.to_json())
    if not survey_json.get("version"):
        # set utc time as the default version
        survey_json['version'] = \
            datetime.utcnow().strftime("%Y%m%d%H%M")
        builder = SurveyElementBuilder()
        survey = builder.create_survey_element_from_json(
            json.dumps(survey_json))
    return survey
Beispiel #4
0
 def _get_xml_for_form(self, xform):
     builder = SurveyElementBuilder()
     sss = builder.create_survey_element_from_json(xform.json)
     xform.xml = sss.to_xml()
     xform._mark_start_time_boolean()
     xform.save()
 def get_survey(self):
     if not hasattr(self, "_survey"):
         builder = SurveyElementBuilder()
         self._survey = builder.create_survey_element_from_json(self.json)
     return self._survey
 def get_xml_for_form(xform):
     builder = SurveyElementBuilder()  #question_type_dictionary=qtd)
     sss = builder.create_survey_element_from_json(xform.json)
     xform.xml = sss.to_xml()
     xform._mark_start_time_boolean()
     xform.save()