def actor_twitter_callback(request): logging.info("Callback URL") redirect_to = memcache.client.get('redirect_to') memcache.client.delete('redirect_to') view = user.get_user_from_cookie_or_legacy_auth(request) if view is not None: if view.extra.get('twitter_access_token') is None: twitter_user, token = util_externals.twitter_user() logging.info("Creating external profile after creates a token") ep_ref = api.create_external_profile(view.nick, 'twitter', twitter_user.screen_name, str(twitter_user.id), 'http://twitter.com/%s'%twitter_user.screen_name) view.extra['twitter_access_token'] = token view.put() if not redirect_to == 'autoclose': response = util.RedirectFlash(redirect_to, 'Oauth authentication success') return response c = template.RequestContext(request, locals()) t = loader.get_template('actor/templates/twitter_callback.html') return http.HttpResponse(t.render(c))
def user_create(service, params, username="", id="", remote_url=""): logging.info("user_create") actor_ref = api.user_create(api.ROOT, **params) actor_ref.access_level = "delete" api.post(actor_ref, nick=actor_ref.nick, message="Joined %s!" % (util.get_metadata("SITE_NAME"))) email = params.get("email", None) if email is not None: api.email_associate(api.ROOT, actor_ref.nick, email) else: key = "emailneeded_%s" % util.display_nick(actor_ref.nick) memcache.client.set(key, True, 360) key = "firsttime_%s" % util.display_nick(actor_ref.nick) memcache.client.set(key, True, 360) external_profile_ref = api.create_external_profile(actor_ref.nick, service, username, id, remote_url) return actor_ref