Exemple #1
0
    def get(self):
        uid = self.get_session("uid") 
        if uid is not None:
            self.redirect("/option/")
        
        doubanbot = DoubanRobot(key=DB_API_KEY, secret=DB_API_SECRET)

        callback = self.request.get("callback").strip()
        if callback == "true":
            token_key = self.get_session("token_key")
            token_secret = self.get_session("token_secret")
            key, secret, uid = doubanbot.get_access_token(token_key, token_secret)
            if key:
                doubanbot.login(key, secret)
                self.set_session("access_key", key)
                self.set_session("access_secret", secret)
                
            account = doubanbot.get_current_user()
            #self.render("msg.html", {"msg":"墙挡住了我和豆瓣,等会儿再试试吧", "url":"/"})
            #    return
            
            self.set_session("uid", account["uid"])
            self.set_session("name", account["name"])
            
            self.redirect("/")
        
        try:
            key, secret = doubanbot.get_request_token()
            self.set_session("token_key", key)
            self.set_session("token_secret", secret)
            douban_url = doubanbot.get_authorization_url(key, secret, self.request.url+"?callback=true")
        except Exception,e:
            logging.info(e)
            self.render("msg.html", {"msg":"墙挡住了我和豆瓣,等会儿再试试吧", "url":"/"})
            return