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