Esempio n. 1
0
def create_account(request):
    if request.method == 'POST':
        name = request.POST['username']
        try:
            account = TwitterAccount.objects.get(username=name)
        except TwitterAccount.DoesNotExist:
            try:
                corpus = twitter.getTweetsFromUser(TWITTER_API, name)
                if corpus:
                    account = TwitterAccount(username=name,
                                             text_corpus=corpus,
                                             num_queries=0)
                    account.save()
                else:
                    return render(
                        request, 'tweetlikeme.html', {
                            'error':
                            "@" + name +
                            " hasn't tweeted anything yet. Try again with another account",
                        })
            except TweepError, e:
                # the error code for a non-existent username is 34
                if "34" in str(e):
                    error = 'Username "' + name + '" does not exist. Try again with another username.'
                elif "88" in str(e):
                    error = "We can't download any data from Twitter right now because of their rate limits. Try again with an account from the autocomplete dropdown."
                else:
                    error = str(e)
                return render(request, 'tweetlikeme.html', {
                    'error': error,
                })
        return redirect('/account/' + name + '/')
Esempio n. 2
0
def twitter_callback(request):
  if request.GET.get('denied'):
    print "denied"
    return HttpResponseRedirect('/feed/')
  print "not denied"
  verifier = request.GET.get('oauth_verifier')
  token_info = twitter_api.twitter_authenticate(verifier, request.session['request_token'], request.session['request_secret'])
  user = request.user
  if user:
    twitter_account = TwitterAccount(user_id=user, access_token=token_info[0], access_secret=token_info[1])
    twitter_account.save()
  return HttpResponseRedirect('/feed/')
Esempio n. 3
0
def login_done(request):
    app = TwitterApp.objects.get_current()
    client = OAuthTwitter(request, app.consumer_key, app.consumer_secret,
                          app.request_token_url)
    user_info = client.get_user_info()
    try:
        account = TwitterAccount.objects.get(social_id=user_info['id'])
    except TwitterAccount.DoesNotExist:
        account = TwitterAccount(social_id=user_info['id'])
    account.profile_image_url = user_info['profile_image_url']
    account.username = user_info['screen_name']
    if account.pk:
        account.save()
    data = dict(twitter_user_info=user_info, username=account.username)
    return complete_social_login(request, data, account)
Esempio n. 4
0
def twitter_callback(request):
    if request.GET.get('denied'):
        print "denied"
        return HttpResponseRedirect('/feed/')
    print "not denied"
    verifier = request.GET.get('oauth_verifier')
    token_info = twitter_api.twitter_authenticate(
        verifier, request.session['request_token'],
        request.session['request_secret'])
    user = request.user
    if user:
        twitter_account = TwitterAccount(user_id=user,
                                         access_token=token_info[0],
                                         access_secret=token_info[1])
        twitter_account.save()
    return HttpResponseRedirect('/feed/')
Esempio n. 5
0
def login_done(request):
	app = TwitterApp.objects.get_current()
	client = OAuthTwitter(
		request, app.consumer_key,
		app.consumer_secret,
		app.request_token_url)
	user_info = client.get_user_info()
	access_token = client._get_at_from_session()
	try:
		account = TwitterAccount.objects.get(social_id=user_info['id'])
	except TwitterAccount.DoesNotExist:
		account = TwitterAccount(social_id=user_info['id']) 
	account.profile_image_url = user_info['profile_image_url']
	account.username = user_info['screen_name']
	account.access_token = access_token['oauth_token']
	account.access_token_secret = access_token['oauth_token_secret']
	if account.pk:
		account.save()
	data = dict(twitter_user_info=user_info,username=account.username)
	return complete_social_login(request, data, account)
Esempio n. 6
0
def create_account(request):
    if request.method == 'POST':
        name = request.POST['username']
        try:
            account = TwitterAccount.objects.get(username=name)
        except TwitterAccount.DoesNotExist:
            try:
                corpus = twitter.getTweetsFromUser(TWITTER_API, name)
                if corpus:
                    account = TwitterAccount(username=name, text_corpus=corpus, num_queries=0)
                    account.save()
                else:
                    return render(request, 'tweetlikeme.html', {'error' : "@" + name + " hasn't tweeted anything yet. Try again with another account",})  
            except TweepError, e:
                # the error code for a non-existent username is 34
                if "34" in str(e):
                    error = 'Username "' + name + '" does not exist. Try again with another username.'
                elif "88" in str(e):
                    error = "We can't download any data from Twitter right now because of their rate limits. Try again with an account from the autocomplete dropdown."
                else:
                    error = str(e)    
                return render(request, 'tweetlikeme.html', {'error' : error,})  
        return redirect('/account/' + name + '/')
Esempio n. 7
0
    client = OAuthTwitter(
        request, app.consumer_key,
        app.consumer_secret,
        app.request_token_url)
    try:
        user_info = client.get_user_info()
    except OAuthError, e:
        return render_authentication_error(request)
    try:
        account = TwitterAccount.objects.get(social_id=user_info['id'])
    except TwitterAccount.DoesNotExist:
        account = TwitterAccount(social_id=user_info['id']) 
    account.profile_image_url = user_info['profile_image_url']
    account.username = user_info['screen_name']
    if account.pk:
        account.save()
    data = dict(twitter_user_info=user_info,
                username=account.username)
    return complete_social_login(request, data, account)


def oauth_redirect(request, consumer_key=None, secret_key=None,
    request_token_url=None, access_token_url=None, authorization_url=None,
    callback_url=None, parameters=None):
    """
    View to handle the OAuth based authentication redirect to the service provider
    """
    request.session['next'] = get_login_redirect_url(request)
    client = OAuthClient(request, consumer_key, secret_key,
        request_token_url, access_token_url, authorization_url, callback_url, parameters)
    try:
Esempio n. 8
0
    client = OAuthTwitter(
        request, app.consumer_key,
        app.consumer_secret,
        app.request_token_url)
    try:
        user_info = client.get_user_info()
    except OAuthError, e:
        return render_authentication_error(request)
    try:
        account = TwitterAccount.objects.get(social_id=user_info['id'])
    except TwitterAccount.DoesNotExist:
        account = TwitterAccount(social_id=user_info['id']) 
    account.profile_image_url = user_info['profile_image_url']
    account.username = user_info['screen_name']
    if account.pk:
        account.save()
    data = dict(twitter_user_info=user_info,
                username=account.username)
    return complete_social_login(request, data, account)


def oauth_redirect(request, consumer_key=None, secret_key=None,
    request_token_url=None, access_token_url=None, authorization_url=None,
    callback_url=None, parameters=None):
    """
    View to handle the OAuth based authentication redirect to the service provider
    """
    request.session['next'] = get_login_redirect_url(request)
    client = OAuthClient(request, consumer_key, secret_key,
        request_token_url, access_token_url, authorization_url, callback_url, parameters)
    try: