Пример #1
0
 def get(self):
     request_key = self.request.get("oauth_token")
     cookie_val = parse_cookie(self.request.cookies.get("FF_API_REQ"))
     if not cookie_val:
         logging.warning("Missing request token cookie")
         self.redirect("/")
         return
     cookie_key, cookie_secret = cookie_val.split("|")
     if cookie_key != request_key:
         logging.warning("Request token does not match cookie")
         self.redirect("/")
         return
     req_token = dict(key=cookie_key, secret=cookie_secret)
     try:
         access_token = friendfeed.fetch_oauth_access_token(
             FRIENDFEED_API_TOKEN, req_token)
     except:
         logging.warning("Could not fetch access token for %r", request_key)
         self.redirect("/")
         return
     data = "|".join(access_token[k] for k in ["key", "secret", "username"])
     set_cookie(self.response, "FF_API_AUTH", data,
                expires=time.time() + 30 * 86400)
     self.redirect("/")
Пример #2
0
	def get(self):
		request_key = self.request.get("oauth_token")
		key = self.SessionObj.request_token
		secret = self.SessionObj.token_secret			
		
		username = ""
		if 	key != request_key:
			logging.warning("Request token does not match known token")
			self.redirect("/")
			return
			
		req_token = dict(key=key, secret = secret)
		try:
			oauth_key = model.OAuthKeys.Get("friendfeed")
			
			consumer = dict(
				key = oauth_key.consumer_key,
				secret = oauth_key.consumer_secret
			)
			
			access_token = friendfeed.fetch_oauth_access_token(
				consumer, req_token)

			self.SessionObj.access_token = simplejson.dumps(access_token)
			self.SessionObj.token_secret = access_token["secret"]
			
			# Get the profile image
			username = access_token["username"]
			current_user = model.User.Get(username)
						
			#if current_user is None:
			#	current_user = model.User.CreateDefault(username)
				
			t = Task(url = '/queue/searchme', params= {"username" : username }, countdown = 240 )
			t.add('ffme-scan')
				
			t = Task(url = '/queue/searchmetype', params= {"username" : username, "type": "comments" }, countdown = 240 )
			t.add('fftype-scan')
				
			t = Task(url = '/queue/searchmetype', params= {"username" : username, "type": "likes" }, countdown = 240 )
			t.add('fftype-scan')
			
			queueProfileFollow(username)
			
				
			current_user.name = username;
			current_user.profile_img = "http://friendfeed-api.com/v2/picture/%s" % username
			current_user.access_token = self.SessionObj.access_token
			current_user.token_secret = self.SessionObj.token_secret
			
			current_user.put()
			
			self.SessionObj.user = current_user
			self.SessionObj.put()	

		except:
			logging.warning("Could not fetch access token for %r, %s %s" % (request_key, sys.exc_type, sys.exc_value))
			self.redirect("/")
			return
		
		self.redirect("/user/%s" % username )