def handle_message(self, message): """ Messages have the following keywords: 'miles' or 'car' """ parser = Parser(message.text) keyword = parser.next_keyword(KEYWORDS, _('unrecognized', "That message is not recognized, must start with miles or car")) if keyword in ['car', 'c']: return self.handle_car(message, parser) elif keyword in ['miles', 'm']: return self.handle_miles(message, parser)
def handle_message(self, message): """ Messages have the following keywords: 'miles' or 'car' """ parser = Parser(message.text) keyword = parser.next_keyword( KEYWORDS, _('unrecognized', "That message is not recognized, must start with miles or car")) if keyword in ['car', 'c']: return self.handle_car(message, parser) elif keyword in ['miles', 'm']: return self.handle_miles(message, parser)
def handle(self, message): profile = get_sms_profile(message.connection) # handle activating the appropriate SMS language # if this connection has a profile, use that language if profile: translation.activate(profile.language) # otherwise use the default SMS language else: translation.activate(settings.DEFAULT_SMS_LANGUAGE) parser = Parser(message.text) # check whether this is a lang message keyword = parser.next_keyword(['lang']) if keyword: if not profile: message.respond( _('lang-unknown-user', "Sorry, your phone number is not registered.")) return True # just querying the language language = parser.next_word() if not language: message.respond( _('lang-current-lang', "Your language is set to {{ language }}.", dict(language=profile.get_language_display()))) return True else: # lowercase the language they passed us language = language.lower() lang_mapping = dict() for lang in settings.LANGUAGES: code = lang[0].lower() lang_mapping[code] = code parts = code.split('_') if not parts[0] in lang_mapping: lang_mapping[parts[0]] = code # this language doesn't exit if not language.lower() in lang_mapping: message.respond( _( 'lang-unknown-language', "Sorry, the language code '{{ code }}' is not supported.", dict(code=language.lower()))) return True profile.language = lang_mapping[language.lower()] profile.save() # activate the new language translation.activate(profile.language) message.respond( _('lang-set-success', "Success, your language is now set to {{ language }}.", dict(language=profile.get_language_display()))) return True return False
def handle (self, message): """ Tries to look up a profile for the user and set the default language. Also takes care of handing the 'lang' keyword """ profile = get_sms_profile(message.connection) # handle activating the appropriate SMS language # if this connection has a profile, use that language if profile: translation.activate(profile.language) # otherwise use the default SMS language else: translation.activate(settings.DEFAULT_SMS_LANGUAGE) parser = Parser(message.text) # check whether this is a lang message keyword = parser.next_keyword(['lang']) if keyword: if not profile: message.respond(_('lang-unknown-user', "Sorry, your phone number is not registered.")) return True # just querying the language language = parser.next_word() if not language: message.respond(_('lang-current-lang', "Your language is set to {{ language }}.", dict(language=App.get_language_display(profile.language)))) return True else: # lowercase the language they passed us language = language.lower() lang_mapping = dict() for lang in settings.LANGUAGES: code = lang[0].lower() lang_mapping[code] = code parts = code.split('_') if not parts[0] in lang_mapping: lang_mapping[parts[0]] = code # this language doesn't exit if not language.lower() in lang_mapping: message.respond(_('lang-unknown-language', "Sorry, the language code '{{ code }}' is not supported.", dict(code=language.lower()))) return True profile.language = lang_mapping[language.lower()] profile.save() # activate the new language translation.activate(profile.language) message.respond(_('lang-set-success', "Success, your language is now set to {{ language }}.", dict(language=App.get_language_display(profile.language)))) return True return False