def connect_twitter():
    """
    (PUT: social_connect/twitter)
    """
    from unifide_backend.action.social.twitter.action import get_tw_user_oauth, save_tw_user

    verb = "put"
    noun = "social_connect/twitter"

    #req_vars
    user_id = request.form.get("user_id")
    brand_name = request.form.get("brand_name")
    verifier = request.form.get("oauth_verifier")

    auth = tweepy.OAuthHandler(TW_CONSUMER_KEY, TW_CONSUMER_SECRET)
    tw_user_oauth = get_tw_user_oauth(user_id, brand_name)
    if tw_user_oauth is None:
        return jsonify({"status": "error",
                        "error": "Failed to get user oauth key and secret"})

    auth.set_request_token(tw_user_oauth.oauth_key, tw_user_oauth.oauth_secret)

    try:
        auth.get_access_token(verifier)
    except tweepy.TweepError:
        print 'Error! Failed to get access token.'
        return jsonify({"status": "error",
                        "error": "Failed to get access token"})

    tw_user = save_tw_user(user_id, brand_name, auth.access_token.key, auth.access_token.secret)
    if tw_user is None:
        return jsonify({"status": "error",
                        "error": "Failed to save twitter user"})

    return jsonify({"status": "ok"})
    def _test_connect_twitter(self):
        print "test_connect_twitter"
        from unifide_backend.action.social.twitter.action import save_tw_user

        user_id = "xaa8LzkwtCCgb6BeP"
        verifier = "dCEqbii65ERrisHvv0tkqvFlbQMPFEYaKzdDhQKSQbE"
        token = "MhWHfcvBRAKsYLvcV8SOoZYeA1YI425U4AxBrxDAE"
        token_secret = "YqlmXejvSuvTLVGclBxNpiEQWDUJE1fAI4L6UH3eT74"

        auth = tweepy.OAuthHandler(TW_CONSUMER_KEY, TW_CONSUMER_SECRET)
        auth.set_request_token(token, token_secret)

        try:
            auth.get_access_token(verifier)
        except tweepy.TweepError:
            print 'Error! Failed to get access token.'
            assert False

        tw_user = save_tw_user(user_id, auth.access_token.key, auth.access_token.secret)
        if tw_user is None:
            assert False

        print "access token key: " + str(auth.access_token.key)
        print "access token secret: " + str(auth.access_token.secret)