Esempio n. 1
0
def get_user_info(request):
    logging.debug('iframe got get: %s' % request.GET)
    logging.debug('appname is %s' % settings.XIAONEI_APP_NAME)
    xn = request.xiaonei
    xn.check_session(request)
    user = XnUser.get_by_key_name('uid:'+xn.uid)
    if not user.sex:
        logging.debug('no extra user info yet. trying to get now')
        try:
            user_info = xn.users.getInfo(uids=[xn.uid], fields=['name','sex','headurl','birthday','hometown_location'])[0]
            logging.debug('got userinfo: %s' % user_info)
        except XiaoneiError, e:
            logging.error('Failed calling users.getinfo')
            logging.error(e)
            return HttpResponse('error with users.getinfo', mimetype='text/html')
        except:
Esempio n. 2
0
def get_or_create_xnuser(xn):
    """Utility function
    Get XnUser if already exists,
    Otherwise, call xn api to get user info and create XnUser instance
    @param xn: An authenticated Xiaonei instance 
    """
    #use memcache to cache the user instance
    user = memcache.get(xn.uid)
    if not user:
        user = XnUser.get_by_key_name('uid:'+xn.uid)
        if user is None:
            logging.debug('no user found in db, getting userinfo again')
            try:
                user_info = xn.users.getInfo(uids=[xn.uid], fields=['name'])[0]
                logging.debug('got userinfo: %s' % user_info)
            except XiaoneiError, e:
                logging.error('Failed calling users.getinfo')
                logging.error(e)
                raise
            except:
Esempio n. 3
0
def get_user_by_uid(uid):
    return XnUser.get_by_key_name('uid:'+uid)
Esempio n. 4
0
def get_user_from_db(uid):
    return XnUser.get_by_key_name('uid:'+uid)