cointipbot.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:dogetipbot 作者: dogetipbot 项目源码 文件源码
def connect_reddit(self):
        """
        Returns a praw connection object
        """

        seconds = int(1 * 3000)
        if hasattr(self.conf.reddit, 'last_refresh') and self.conf.reddit.last_refresh + seconds > int(time.mktime(time.gmtime())):
            lg.debug("< CointipBot::connect_reddit(): to connect to reddit(): DONE (skipping)")
            return self.reddit

        lg.debug('CointipBot::connect_reddit(): connecting to Reddit via OAuth2...')

        client_auth = requests.auth.HTTPBasicAuth(self.conf.reddit.auth.id, self.conf.reddit.auth.secret)
        post_data = {"grant_type": "password", "username": self.conf.reddit.auth.user, "password": self.conf.reddit.auth.password}

        conn = praw.Reddit(user_agent = self.conf.reddit.auth.user, api_request_delay=1.0)
        conn.set_oauth_app_info(client_id=self.conf.reddit.auth.id,
        client_secret=self.conf.reddit.auth.secret,
        redirect_uri=self.conf.reddit.auth.redirect)

        while True:

            response = requests.post("https://ssl.reddit.com/api/v1/access_token", auth=client_auth, data=post_data)

            r_info = json.loads(response.content)
            lg.debug(r_info)

            if (response.status_code == 200):
                self.conf.reddit.access_token = r_info['access_token']

                conn.set_access_credentials(set(['edit','identity','privatemessages','read','submit','vote', 'creddits']),r_info['access_token'])
                print "Access Granted"
                self.conf.reddit.last_refresh = int(time.mktime(time.gmtime()))
                lg.info("CointipBot::connect_reddit(): logged in to Reddit as %s", self.conf.reddit.auth.user)
                return conn
            else:
                print "Sleeping..."
                time.sleep(10)
                pass

#        conn.login(self.conf.reddit.auth.user, self.conf.reddit.auth.password)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号