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:
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:
def get_user_by_uid(uid): return XnUser.get_by_key_name('uid:'+uid)
def get_user_from_db(uid): return XnUser.get_by_key_name('uid:'+uid)