Example #1
0
    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('/')
Example #2
0
 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('/')
Example #3
0
    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))
Example #4
0
 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