def get(self): self.session = Session() member = CheckAuth(self) host = self.request.headers['Host'] if host == 'localhost:10000' or host == '127.0.0.1:10000': # Local debugging logic if member: request_token = self.session['request_token'] twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, request_token) access_token = twitter.getAccessToken() twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, access_token) user = twitter.GetUserInfo() memcache.delete('Member_' + str(member.num)) member = db.GqlQuery("SELECT * FROM Member WHERE num = :1", member.num)[0] member.twitter_oauth = 1 member.twitter_oauth_key = access_token.key member.twitter_oauth_secret = access_token.secret member.twitter_oauth_string = access_token.to_string() member.twitter_sync = 0 member.twitter_id = user.id member.twitter_name = user.name member.twitter_screen_name = user.screen_name member.twitter_location = user.location member.twitter_description = user.description member.twitter_profile_image_url = user.profile_image_url member.twitter_url = user.url member.twitter_statuses_count = user.statuses_count member.twitter_followers_count = user.followers_count member.twitter_friends_count = user.friends_count member.twitter_favourites_count = user.favourites_count member.put() memcache.set('Member_' + str(member.num), member, 86400) self.redirect('/settings') else: self.redirect('/signin') else: # Remote production logic if member and 'request_token' in self.session: request_token = self.session['request_token'] twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, request_token) access_token = twitter.getAccessToken() twitter = OAuthApi(CONSUMER_KEY, CONSUMER_SECRET, access_token) user = twitter.GetUserInfo() memcache.delete('Member_' + str(member.num)) member = db.GqlQuery("SELECT * FROM Member WHERE num = :1", member.num)[0] member.twitter_oauth = 1 member.twitter_oauth_key = access_token.key member.twitter_oauth_secret = access_token.secret member.twitter_oauth_string = access_token.to_string() member.twitter_sync = 0 member.twitter_id = user.id member.twitter_name = user.name member.twitter_screen_name = user.screen_name member.twitter_location = user.location member.twitter_description = user.description member.twitter_profile_image_url = user.profile_image_url member.twitter_url = user.url member.twitter_statuses_count = user.statuses_count member.twitter_followers_count = user.followers_count member.twitter_friends_count = user.friends_count member.twitter_favourites_count = user.favourites_count member.put() memcache.set('Member_' + str(member.num), member, 86400) self.redirect('/settings') else: oauth_token = self.request.get('oauth_token') if host == 'v2ex.appspot.com': self.redirect( 'http://www.v2ex.com/twitter/oauth?oauth_token=' + oauth_token) else: self.redirect( 'http://v2ex.appspot.com/twitter/oauth?oauth_token=' + oauth_token)