def get(self): arguments = self.request.arguments() if 'denied' in arguments: # User has denied the authentication. self.response.out.write("Welcome to use Buzzing Cat next time.") return elif len(arguments) == 0 or 'oauth_token' not in arguments: # The URL is illegal. self.response.out.write('error') return oauth_token = self.request.get('oauth_token') t = memcache.get(oauth_token) if t is None: # User hasn't signed in. self.response.out.write("You should sign in first.") else: t.obtain_access_token() if len(t.get_access_token()) == 0: # The 'oauth_token' hasn't be authorized. self.response.out.write("You should allow Buzzing Cat access first.") else: # Yeah, it's ok. user = users.get_current_user() if user: email = user.email() if datastore.has_services(email, ['Twitter']) == False: access_token = t.get_access_token() oauth_token = access_token['oauth_token'][0] oauth_token_secret = access_token['oauth_token_secret'][0] datastore.add_twitter(email, oauth_token, oauth_token_secret) self.redirect('/')
def post(self): user = users.get_current_user() if user: email = user.email() if datastore.has_services(email, ['Renren']) == False: username = self.request.get('username') password = self.request.get('password') datastore.add_renren(email, username, password) self.redirect('/')
def get(self): user = users.get_current_user() signin = False t = False rr = False if user: email = user.email() if datastore.lookup_user(email) == True: signin = True if datastore.has_services(email, ['Twitter']) == True: t = True if datastore.has_services(email, ['Renren']) == True: rr = True template_values = { 'signin': signin, 'user': user, 'twitter': t, 'renren': rr } path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, template_values))
def has_service(self, message, service): m = re.search(r"^.*@gmail\.com(?=/)", message.sender) if m is not None: email = m.group(0) if datastore.lookup_user(email) == False: message.reply("You should sign in first, please visit http://buzzingcat.appspot.com/") return None else: if datastore.has_services(email, [service]) == False: message.reply("You should active " + service + " first, please visit http://buzzingcat.appspot.com/") return None return email else: message.replay("Not Gmail account.") return None