Пример #1
0
def get_weibo_user():
    auth = OAuthHandler(consumer_key, consumer_secret)
    # Get currrent user access token from session
    access_token = session['oauth_access_token']
    auth.setToken(access_token.key, access_token.secret)
    api = API(auth)
    # Get info from weibo
    return api.me()
Пример #2
0
def get_weibo_user():
    auth = OAuthHandler(consumer_key, consumer_secret)
    # Get currrent user access token from session
    access_token = session['oauth_access_token']
    auth.setToken(access_token.key, access_token.secret)
    api = API(auth)
    # Get info from weibo
    return api.me()
Пример #3
0
def check_user_login_sina(request):
    try:
        oauth_verifier = request.GET.get('oauth_verifier', None)
        request_token = request.session.get('oauth_request_token', None)
        request.session['oauth_request_token'] = None

        auth = OAuthHandler(consumer_key, consumer_secret)

        auth.request_token = request_token
        access_token = auth.get_access_token(oauth_verifier)

        request.session['oauth_access_token'] = access_token

        api = API(auth)
        sina_user = api.me()

        user_in_session = request.session.get('user', None)
        isnewuser = False
        if user_in_session == None:
            user, isnewuser = UserService().getorCreateCoolUserBySinaUser(
                sina_user)
            user = UserService().getUser(user)
        else:
            errormessage = UserService().updateSinaID(user_in_session,
                                                      sina_user)
            if errormessage:
                request.session['errormessage'] = errormessage
            user = UserService().getUser(user_in_session)

        request.session['user'] = user
        newmessagecount = UserService().getMessageCount({'isread': False},
                                                        user)
        user.newmessagecount = newmessagecount
        UserService().updateCoolUser(user)

        if isnewuser:
            back_to_url = '/setting'
        else:
            back_to_url = request.session.get('login_back_to_url', '/')

        return HttpResponseRedirect(back_to_url)
    except WeibopError:
        errormessage = ugettext(
            'Auth sina twitter account failed, please retry.')
        request.session['errormessage'] = errormessage
        return login(request)
Пример #4
0
def check_user_login_sina(request):
    try:
        oauth_verifier = request.GET.get('oauth_verifier', None)
        request_token = request.session.get('oauth_request_token', None)
        request.session['oauth_request_token'] = None
        
        auth=OAuthHandler(consumer_key, consumer_secret)
        
        auth.request_token=request_token
        access_token=auth.get_access_token(oauth_verifier)
    
        request.session['oauth_access_token'] = access_token
        
        api = API(auth)
        sina_user = api.me()
        
        user_in_session = request.session.get('user', None)
        isnewuser = False
        if user_in_session == None:
            user, isnewuser = UserService().getorCreateCoolUserBySinaUser(sina_user)
            user = UserService().getUser(user)
        else:
            errormessage = UserService().updateSinaID(user_in_session, sina_user)      
            if errormessage:
                request.session['errormessage'] = errormessage      
            user = UserService().getUser(user_in_session)
            
        request.session['user'] = user
        newmessagecount = UserService().getMessageCount({'isread':False}, user)
        user.newmessagecount = newmessagecount
        UserService().updateCoolUser(user)
        
        if isnewuser:
            back_to_url = '/setting'
        else:
            back_to_url = request.session.get('login_back_to_url', '/')
        
        return HttpResponseRedirect(back_to_url)
    except WeibopError:
        errormessage = ugettext('Auth sina twitter account failed, please retry.')
        request.session['errormessage'] = errormessage
        return login(request)
Пример #5
0
    return confs


def set_conf(confs):
    import os
    confile = os.path.join(os.path.dirname(__file__), 'conf.py')
    with open(confile, 'w') as f:
        for k, v in confs.items():
            if isinstance(v, int):
                format = "%s = %s\n"
            elif isinstance(v, str):
                format = "%s = '%s'\n"
            else:
                continue
            f.write(format % (k, v))
        return True
    return False


def get_api():
    import sys, os.path
    sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
    from weibopy import OAuthHandler, API, WeibopError
    c = get_conf()
    try:
        o = OAuthHandler(c['consumer_key'], c['consumer_secret'])
        o.setToken(c['access_token_key'], c['access_token_secret'])
    except KeyError, e:
        sys.stderr.write("you should run get_oauthed.py first.\n")
    return API(o)