def guess(): guessed_name = request.args.get('guessed_name').strip() if guessed_name: guessed_user, fans = None, False try: guessed_user = g.api.get_user(id = guessed_name) except: return render_template('guess.html', error=u"纳尼!查无此人)^O^( 你们真的认识吗") try: fans = g.api.exists_friendship(user_a = guessed_user.id, user_b = g.weibo.id).friends except: return render_template('guess.html', error=u"获取好友关系失败,请稍候再试") else: return render_template('guess.html', error=u"微博昵称不能为空") if guessed_user: constellation_id, rate, error = worker.guess(id=guessed_user.id) if rate <= 30: constellation_id, rate, error = worker.guess(id=guessed_user.id) constellation = constellations[constellation_id][1] if error: return render_template('guess.html', error=error) Guess.set(guesser_id=g.user.id, guessed_id=guessed_user.id, constellation_id=constellation_id, rate=rate) Weibo.set(weibo=guessed_user) guessed_weibo = Weibo.get(id=guessed_user.id)[0] message = weibo_txt(fans=fans, screen_name=guessed_weibo.screen_name, constellation=constellation, rate=rate) rate = str(rate) + "%" return render_template('guess.html',constellation=constellation, rate=rate, message=message, error=None, guessed_weibo=guessed_weibo) else: return render_template('guess.html', error=u'无法获取该用户的微博信息')
def callback(): '''用户成功登录授权后,会回调此方法,获取access_token,完成授权''' verifier = request.args.get('oauth_verifier', None) # 设置之前保存在session的request_token if 'oauth_request_token' in session: request_token = session['oauth_request_token'] del session['oauth_request_token'] else: return render_template('index.html') auth_client.set_request_token(request_token.key, request_token.secret) access_token = auth_client.get_access_token(verifier) at_key = access_token.key at_secret = access_token.secret #设定用户令牌密钥 auth_client.setToken(at_key, at_secret) #绑定用户验证信息. api = API(auth_client) #获取微博信息 weibo = api.verify_credentials() if weibo is False or weibo is None: flash(u'杯具啊,你木有开通微博吧(⊙﹏⊙)a', 'error') return render_template('index.html') #记录用户登录信息,更新用户微博资料 User.login(weibo=weibo) Weibo.set(weibo=weibo, at_key=at_key, at_secret=at_secret) #设置session session['id'] = weibo.id session.permanent = True # 跳转回最初登录前的页面 back_to_url = session.get('login_back_to_url', '/') return redirect(back_to_url)
def callback(): '''用户成功登录授权后,会回调此方法,获取access_token,完成授权''' verifier = request.args.get('oauth_verifier', None) # 设置之前保存在session的request_token if 'oauth_request_token' in session: request_token = session['oauth_request_token'] del session['oauth_request_token'] else: return render_template('index.html') auth_client.set_request_token(request_token.key, request_token.secret) access_token = auth_client.get_access_token(verifier) at_key = access_token.key at_secret = access_token.secret #设定用户令牌密钥 auth_client.setToken( at_key, at_secret ) #绑定用户验证信息. api = API(auth_client) #获取微博信息 weibo = api.verify_credentials() if weibo is False or weibo is None: flash(u'杯具啊,你木有开通微博吧(⊙﹏⊙)a', 'error') return render_template('index.html') #记录用户登录信息,更新用户微博资料 User.login(weibo=weibo) Weibo.set(weibo=weibo, at_key=at_key, at_secret=at_secret) #设置session session['id'] = weibo.id session.permanent = True # 跳转回最初登录前的页面 back_to_url = session.get('login_back_to_url', '/') return redirect(back_to_url)
def guess(): guessed_name = request.args.get('guessed_name').strip() if guessed_name: guessed_user, fans = None, False try: guessed_user = g.api.get_user(id=guessed_name) except: return render_template('guess.html', error=u"纳尼!查无此人)^O^( 你们真的认识吗") try: fans = g.api.exists_friendship(user_a=guessed_user.id, user_b=g.weibo.id).friends except: return render_template('guess.html', error=u"获取好友关系失败,请稍候再试") else: return render_template('guess.html', error=u"微博昵称不能为空") if guessed_user: constellation_id, rate, error = worker.guess(id=guessed_user.id) if rate <= 30: constellation_id, rate, error = worker.guess(id=guessed_user.id) constellation = constellations[constellation_id][1] if error: return render_template('guess.html', error=error) Guess.set(guesser_id=g.user.id, guessed_id=guessed_user.id, constellation_id=constellation_id, rate=rate) Weibo.set(weibo=guessed_user) guessed_weibo = Weibo.get(id=guessed_user.id)[0] message = weibo_txt(fans=fans, screen_name=guessed_weibo.screen_name, constellation=constellation, rate=rate) rate = str(rate) + "%" return render_template('guess.html', constellation=constellation, rate=rate, message=message, error=None, guessed_weibo=guessed_weibo) else: return render_template('guess.html', error=u'无法获取该用户的微博信息')