def _fb_user_to_auth(request, fb_user_cookie): prof.start('profile-save-fb-get-me') graph = facebook.GraphAPI(access_token=fb_user_cookie['access_token']) try: fb_user = graph.get_object("me") except facebook.GraphAPIError: # Clear cookies return None prof.stop('profile-save-fb-get-me') log.debug("fb_user_cookie %s fb_user_me: %s" % (str(fb_user_cookie), str(fb_user))) prof.start('profile-save-fb-new-user') (user, profile, new_user) = _check_and_save_user_atomic(fb_user) prof.stop('profile-save-fb-new-user') if new_user: # A new user, we also need to save to profile fb_user['photo'] = graph.request("me/picture", args={'type': 'large'}, binary=True) _populate_user_profile(user, profile, fb_user, fb_user_cookie) # Make friends in facebook for fingo too _save_friends(user, graph.get_connections("me", "friends")['data']) # Post it to wall # FIXME: this will fail if it comes from fb_app FacebookSystem.post_new_user_to_wall(request.COOKIES) return user