def set_settings(user_id, languages, finding_genders, current_latitude, current_longitude, search_radius, location_enabled): user_c = UserContext.get(user_id) user = user_c.user user.languages = [Language.get(lang) for lang in languages] user.finding_genders = ",".join(finding_genders) user.current_latitude = current_latitude user.current_longitude = current_longitude user.search_radius = search_radius user.location_enabled = location_enabled user_c.send_message(user_c._("Changes saved."), action.CHANGED_LANGUAGE)
def logged_in_with_fb(uid, code, redirect_url): fb_user_id, token, user = _login_update(code, uid, redirect_url) user.signup_date = datetime.datetime.now() if user.fb_id is None: user.fb_id = fb_user_id user.fb_access_token = token uc = UserContext.get(uid) uc.send_message( uc._("Sign up completed! " "Click the Settings button to set discovery settings."), action.IDLE__SIGN_UP_COMPLETED) uc.do_action({}, action.IDLE__ACTION_AFTER_SIGNUP)
def settings(uidenc): uid = uidcrypt.decryptuid(uidenc) settings = bot.get_settings(uid) languages = [Lang(code=k, name=v, checked=(k in settings['languages'])) for k, v in filter(lambda (k1, v1): k1 in config.ENABLED_LANGUAGES, bot.get_language())] languages.sort(key=lambda x: x.name) userc = UserContext.get(uid) return dict(settings=settings, languages=languages, buy_points_url=fb.PAYMENT_LOGIN_URL.format( uid=uidenc, state=tokener.gen_token(uid, tokener.NS_PAYMENT)), userc=userc)
def run_methods(message, payload): user_id = message.sender.id user_c = UserContext.get(user_id) if payload.startswith("PREREPORT-"): prereport_user(user_c, payload.split("-")[1]) return if payload.startswith("REPORT-"): report_user(user_c, payload.split("-")[1]) return { ACTION: user_c.do_action, SEARCH: user_c.do_search, START: user_c.do_start, CANCEL_SEARCH: user_c.cancel_search, END_CONVERSATION: user_c.end_conversation, END_CONVERSATION_AND_SEARCH: user_c.end_conversation_and_search, SHARE_PROFILE: user_c.share_profile, SHARE_PROFILE_PRE: user_c.share_profile_pre, }.get(payload, user_c.do_unknown)(message)
def received_message(message): user_id = message.sender.id user_c = UserContext.get(user_id) if "text" in message.message._fields: t = message.message.text if t == "system-reset-lastmatched": reset_last_matched(user_id) return if t == "system-reset-fb-id": reset_fb_id(user_id) return if t == "system-index-page": send_index_page_test(user_c) return if t == "system-login-page": send_login_page(user_c) return if t == "system-buy-button-page": send_purchase_button_page(user_c) return if t == "system-reset-gender": reset_gender(user_id) return user_c.do_message(message)
def translate(uid, text): return UserContext.get(uid)._(text)
def do_action(uid): if not User.exists(uid): return UserContext.get(uid).do_action({})