Beispiel #1
0
    def prepare_request(self,url,token=None,secret='',additional_params={},method='GET'):
        encode=lambda t:urlquote(str(t),'')
        urlquh=lambda t:urlquote(str(t),'~')

        params={'oauth_consumer_key':self.consumer_key,
                'oauth_signature_method':'HMAC-SHA1',
                'oauth_timestamp':str(int(time())),
                'oauth_nonce':''.join(list(choice(seqstr) for i in xrange(64))),
                'oauth_version':'1.0'}

        if token:
            params['oauth_token']=token
        elif self.callback_url:
            params['oauth_callback']=self.callback_url

        params.update(additional_params)
        for k,v in params.iteritems():
            if isinstance(v,unicode):
                params[k]=v.encode('utf8')

        params_str='&'.join([encode(k)+'='+urlquh(v) for k,v in sorted(params.iteritems())])
        params['oauth_signature']=hmac('&'.join([self.consumer_secret,secret]),
                                       '&'.join([method,encode(url),urlquh(params_str)]),
                                       sha1).digest().encode('base64').strip()
        return '&'.join([urlquote_plus(str(k),'~')+'='+urlquote_plus(str(v),'~') for k,v in sorted(params.iteritems())])
 def search(self, query):
     query = urlquote_plus(query)
     params = {"appid": self.appid}
     encoded_params = urllib.urlencode(params)
     url = "http://boss.yahooapis.com/ysearch/web/v1/%s?%s" % (query, encoded_params)
     response = urllib.urlopen(url)
     data = json.load(response)
     return data
 def search(self, query):
     query = urlquote_plus(query)
     params = {'appid': self.appid}
     encoded_params = urllib.urlencode(params)
     url = ('http://boss.yahooapis.com/ysearch/web/v1/%s?%s' %
            (query, encoded_params))
     response = urllib.urlopen(url)
     data = json.load(response)
     return data