Esempio n. 1
0
def say():
    s = request.environ.get('beaker.session')
    access_token = s.get('access_token', '')
    if not access_token:
        toggle_notice('还未登录, <a href="/auth"><img src="/static/login240.png" /></a> ')
        redirect('/')
    if not check_formhash():
        abort(403, 'how you get here?')

    o = lib.get_user_api(access_token)
    
    word = request.POST.get('word', '')
    word = " ".join(word.split())
    wordlen = len(lib.mb_code(word, 'utf-8').decode('utf-8'))
    toweiqun = request.POST.get('toweiqun', '')
    if wordlen == 0 or wordlen > 140:
	abort(403, 'invalid status')
		
    try:
        api = lib.get_api()
        api.update_status(word)
        toggle_notice('小纸条已经丢进树洞')
        if toweiqun == 'on':
            lib.appendto(
                lib.get_timed_path('toweiqun'),
                word + "\n",
            )
        return {
            'uid': s.get('uid', ''),
            'name': s.get('name',''),
            'notice': toggle_notice(),
            'formhash': set_formhash(),
        }
    except Exception, e:
        return "error: " + str(e)
Esempio n. 2
0
def follow():
    s = request.environ.get('beaker.session')
    access_token = s.get('access_token', '')
    if not access_token:
        redirect('/auth')
        
    try:
        o = lib.get_user_api(access_token)
        o.create_friendship(user_id=2440698035)
    except Exception, e:
        if "already followed" not in getattr(e, "reason", ""):
            abort(500, str(e))
Esempio n. 3
0
    s = request.environ.get('beaker.session')
    request_token = s.get('request_token', '')
    if not request_token:
        abort(403, 'request token not set') 
    
    token = request.GET.get('oauth_token')
    verifier = request.GET.get('oauth_verifier')
    
    o = lib.get_oauth_handler()
    o.set_request_token(request_token.key, request_token.secret)
    try:
        access_token = o.get_access_token(verifier)
    except Exception, e:
        abort(500, 'check access_token failed')
    
    o = lib.get_user_api(access_token)
    
    try:
        user = o.verify_credentials()
        s['uid'] = str(user.id)
        s['name'] = lib.mb_code(user.name)
    except: abort(500, 'can not get user info')
    
    s['access_token'] = access_token
    s.save()
    
    redirect('/say')


@route('/')
@view('index')