def test_split_name(self): self.assertEqual(split_name('John Doe'), ('John', 'Doe')) self.assertEqual(split_name('John'), ('John', '')) self.assertEqual(split_name('John M Doe'), ('John', 'M Doe')) self.assertEqual(split_name(''), ('', ''))
def twitter_callback(request): settings = request.registry.settings try: oauth_token = request.params['oauth_token'] except KeyError: return HTTPBadRequest('Missing required oauth_token') try: oauth_verifier = request.params['oauth_verifier'] except KeyError: return HTTPBadRequest('Missing required oauth_verifier') try: saved_oauth_token = request.session['oauth_token'] except KeyError: return HTTPBadRequest('No oauth_token was found in the session') if saved_oauth_token != oauth_token: return HTTPUnauthorized("OAuth tokens don't match") else: del request.session['oauth_token'] access_token_url = settings['twitter_access_token_url'] params = ( ('oauth_token', oauth_token), ) auth = auth_header('POST', access_token_url, params, settings, oauth_token) response = requests.post(access_token_url, data='oauth_verifier=%s' % oauth_verifier, headers={'Authorization': auth}) if response.status_code != 200: return HTTPUnauthorized(response.text) response_args = dict(urlparse.parse_qsl(response.text)) #oauth_token_secret = response_args['oauth_token_secret'] oauth_token = response_args['oauth_token'] user_id = response_args['user_id'] screen_name = response_args['screen_name'] existing_user = user_from_provider_id(request.db, 'twitter', user_id) if existing_user is None: # fetch Twitter info only if this is the first time for # the user sice Twitter has very strong limits for using # its APIs twitter_info = get_user_info(settings, user_id, oauth_token) first_name, last_name = split_name(twitter_info['name']) info = { 'screen_name': screen_name, 'first_name': first_name, 'last_name': last_name, } else: info = {} return register_or_update(request, 'twitter', user_id, info, request.route_path('home'))
def test_split_name_empty_string(self): self.assertEqual(split_name(""), ("", ""))
def test_split_name_three_words(self): self.assertEqual(split_name("John M Doe"), ("John", "M Doe"))
def test_split_name_one_word(self): self.assertEqual(split_name("John"), ("John", ""))
def test_split_name_two_words(self): self.assertEqual(split_name("John Doe"), ("John", "Doe"))
def twitter_callback(request): settings = request.registry.settings try: oauth_token = request.params['oauth_token'] except KeyError: return HTTPBadRequest('Missing required oauth_token') try: oauth_verifier = request.params['oauth_verifier'] except KeyError: return HTTPBadRequest('Missing required oauth_verifier') try: saved_oauth_token = request.session['oauth_token'] except KeyError: return HTTPBadRequest('No oauth_token was found in the session') if saved_oauth_token != oauth_token: return HTTPUnauthorized("OAuth tokens don't match") else: del request.session['oauth_token'] access_token_url = settings['twitter_access_token_url'] params = ( ('oauth_token', oauth_token), ('oauth_verifier', oauth_verifier), ) auth = auth_header('POST', access_token_url, params, settings, oauth_token) response = requests.post(access_token_url, headers={'Authorization': auth}) if response.status_code != 200: return HTTPUnauthorized(response.text) response_args = dict(urlparse.parse_qsl(response.text)) # moauth_token_secret = response_args['oauth_token_secret'] oauth_token = response_args['oauth_token'] user_id = response_args['user_id'] screen_name = response_args['screen_name'] existing_user = user_from_provider_id('twitter', user_id) if existing_user is None: # fetch Twitter info only if this is the first time for # the user sice Twitter has very strong limits for using # its APIs twitter_info = get_user_info(settings, user_id) first_name, last_name = split_name(twitter_info['name']) info = { 'screen_name': screen_name, 'first_name': first_name, 'last_name': last_name, } else: info = {} return register_or_update(request, 'twitter', user_id, info, request.route_path('home'))
def test_split_name(self): self.assertEqual(split_name("John Doe"), ("John", "Doe")) self.assertEqual(split_name("John"), ("John", "")) self.assertEqual(split_name("John M Doe"), ("John", "M Doe")) self.assertEqual(split_name(""), ("", ""))
def test_split_name_empty_string(self): self.assertEqual(split_name(''), ('', ''))
def test_split_name_three_words(self): self.assertEqual(split_name('John M Doe'), ('John', 'M Doe'))
def test_split_name_one_word(self): self.assertEqual(split_name('John'), ('John', ''))
def test_split_name_two_words(self): self.assertEqual(split_name('John Doe'), ('John', 'Doe'))