コード例 #1
0
ファイル: api.py プロジェクト: codelurker/python-twoauth
 def _api_delete(self, a, b, params = {}, **replace):
     url = self._urlreplace(a, b, replace)
     
     params = self._rm_noparams(params)
     params = self._convert_str_params(params)
     
     res = self.oauth.oauth_http_request(url, "DELETE", params)
     return twitterxml.xmlparse(res.read())
コード例 #2
0
    def _api_delete(self, a, b, params={}, **replace):
        url = self._urlreplace(a, b, replace)

        params = self._rm_noparams(params)
        params = self._convert_str_params(params)

        conn = self.oauth.oauth_http_request(url, "DELETE", params)
        response = conn.getresponse()

        return twitterxml.xmlparse(response.read())
コード例 #3
0
ファイル: api.py プロジェクト: codelurker/python-twoauth
    def _api_noauth(self, url, params):
        # No use OAuth, GET only
        paramstr = urllib.urlencode(params)

        data = urllib2.urlopen("%s?%s" % (url, paramstr))

        header = data.info()
        self._set_ratelimit_ip(header)

        xml = data.read()
        return twitterxml.xmlparse(xml)
コード例 #4
0
    def _api_noauth(self, url, params):
        # No use OAuth, GET only
        paramstr = urllib.urlencode(params)

        data = urllib2.urlopen("%s?%s" % (url, paramstr))

        header = data.info()
        self._set_ratelimit_ip(header)

        xml = data.read()
        return twitterxml.xmlparse(xml)
コード例 #5
0
ファイル: api.py プロジェクト: akiraak/gae-twitter-bot
    def _api_delete(self, a, b, user="", _id="", params={}):
        if not user:
            user = self.user["screen_name"]

        url = self.url[a][b]
        url = url.replace("%user%", str(user))
        url = url.replace("%id%", str(_id))

        params = self._rm_noparams(params)
        res = self.oauth.oauth_http_request(url, "DELETE", params)
        return twitterxml.xmlparse(res.read())
コード例 #6
0
ファイル: api.py プロジェクト: akiraak/gae-twitter-bot
    def __init__(self, ckey, csecret, atoken, asecret, oauth_obj=None):
        if oauth_obj == None:
            self.oauth = oauth.oauth(ckey, csecret, atoken, asecret)
        else:
            self.oauth = oauth_obj

        req = self.oauth.oauth_request(self.url["account"]["verify_credentials"])
        getxml = urllib2.urlopen(req).read()

        user = twitterxml.xmlparse(getxml)
        self.user = user
コード例 #7
0
ファイル: api.py プロジェクト: codelurker/python-twoauth
    def initialize(self):
        # Get user info
        req = self.oauth.oauth_request(
            self.url["account"]["verify_credentials"])
        xml = urllib2.urlopen(req).read()
        self.user = twitterxml.xmlparse(xml)
        
        # Get rate limit
        limit = self.rate_limit()
        self.ratelimit_limit = int(limit["hourly-limit"])
        self.ratelimit_remaining = int(limit["remaining-hits"])
        self.ratelimit_reset = datetime.datetime.fromtimestamp(
            int(limit["reset-time-in-seconds"]))

        iplimit = self.rate_limit(ip_limit = True)
        self.ratelimit_iplimit = int(iplimit["hourly-limit"])
        self.ratelimit_ipremaining = int(iplimit["remaining-hits"])
        self.ratelimit_ipreset = datetime.datetime.fromtimestamp(
            int(iplimit["reset-time-in-seconds"]))
コード例 #8
0
    def initialize(self):
        # Get user info
        req = self.oauth.oauth_request(
            self.url["account"]["verify_credentials"])
        xml = urllib2.urlopen(req).read()
        self.user = twitterxml.xmlparse(xml)

        # Get rate limit
        limit = self.rate_limit()
        self.ratelimit_limit = int(limit["hourly-limit"])
        self.ratelimit_remaining = int(limit["remaining-hits"])
        self.ratelimit_reset = datetime.datetime.fromtimestamp(
            int(limit["reset-time-in-seconds"]))

        iplimit = self.rate_limit(ip_limit=True)
        self.ratelimit_iplimit = int(iplimit["hourly-limit"])
        self.ratelimit_ipremaining = int(iplimit["remaining-hits"])
        self.ratelimit_ipreset = datetime.datetime.fromtimestamp(
            int(iplimit["reset-time-in-seconds"]))
コード例 #9
0
class api():
    # url, method
    from url_method import url, method

    def __init__(self,
                 ckey,
                 csecret,
                 atoken,
                 asecret,
                 screen_name="",
                 oauth_obj=None):
        # Oauth init
        if oauth_obj == None:
            self.oauth = oauth.oauth(ckey, csecret, atoken, asecret)
        else:
            self.oauth = oauth_obj

        self.user = {"screen_name": screen_name}

        # ratelimit var init
        self.ratelimit_limit = -1
        self.ratelimit_remaining = -1
        self.ratelimit_reset = datetime.datetime.now()

        self.ratelimit_iplimit = -1
        self.ratelimit_ipremaining = -1
        self.ratelimit_ipreset = datetime.datetime.now()

    # Option initialization method
    # Only for backward compatibility...
    def initialize(self):
        # Get user info
        req = self.oauth.oauth_request(
            self.url["account"]["verify_credentials"])
        xml = urllib2.urlopen(req).read()
        self.user = twitterxml.xmlparse(xml)

        # Get rate limit
        limit = self.rate_limit()
        self.ratelimit_limit = int(limit["hourly-limit"])
        self.ratelimit_remaining = int(limit["remaining-hits"])
        self.ratelimit_reset = datetime.datetime.fromtimestamp(
            int(limit["reset-time-in-seconds"]))

        iplimit = self.rate_limit(ip_limit=True)
        self.ratelimit_iplimit = int(iplimit["hourly-limit"])
        self.ratelimit_ipremaining = int(iplimit["remaining-hits"])
        self.ratelimit_ipreset = datetime.datetime.fromtimestamp(
            int(iplimit["reset-time-in-seconds"]))

    def _api(self, a, b, params={}, noauth=False, **replace):
        url = self._urlreplace(a, b, replace)
        method = self.method[a][b]
        params = self._rm_noparams(params)
        params = self._convert_str_params(params)

        if noauth:
            # try no auth request
            try:
                return self._api_noauth(url, params)
            except urllib2.HTTPError, e:
                if e.code in (401, 403): pass
                else: raise

        req = self.oauth.oauth_request(url, method, params)
        data = urllib2.urlopen(req)

        header = data.info()
        self._set_ratelimit(header)

        xml = data.read()
        return twitterxml.xmlparse(xml)
コード例 #10
0
ファイル: api.py プロジェクト: akiraak/gae-twitter-bot
 def _api_noauth(self, url, params):
     # No use OAuth, GET only
     paramstr = urllib.urlencode(params)
     xml = urllib2.urlopen("%s?%s" % (url, paramstr)).read()
     return twitterxml.xmlparse(xml)