def parse(self, message): assert is_string(message) try: form_code, tokens = self.form_code(message) question_codes, form_model = self.get_question_codes(form_code) submission, extra_data = self._parse_ordered_tokens(tokens, question_codes, form_code) except SMSParserInvalidFormatException as ex: raise SMSParserInvalidFormatException(ex.data) return form_code, submission, extra_data
def parse(self, message): assert is_string(message) try: form_code, tokens = self.form_code(message) submission, extra_data = self._parse_tokens(tokens, form_code) except SMSParserInvalidFormatException as ex: raise SMSParserInvalidFormatException(ex.data) except MultipleSubmissionsForSameCodeException as ex: raise MultipleSubmissionsForSameCodeException(ex.data[0]) return form_code, submission, extra_data
def validate_format(self, message_prefix_regex, message): if not re.match(message_prefix_regex, message, flags=re.UNICODE): raise SMSParserInvalidFormatException(message)
def _validate_format(self, message): if not re.match(self.MESSAGE_PREFIX, message, flags=re.UNICODE): raise SMSParserInvalidFormatException(message)