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 + '/')
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/')
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)
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/')
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)
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 + '/')
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:
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: