123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # pylint: disable=invalid-name
- '''
- Yelp.py contains methods for
- authenticating the user and
- retrieving data from Yelp's API.
- '''
- import simplejson as json
- import oauth2
- import requests
- # OAuth credential placeholders that must be filled in by users.
- CONSUMER_KEY = 'EXMisJNWez_PuR5pr06hyQ'
- CONSUMER_SECRET = 'VCK-4cDjtQ9Ra4HC5ltClNiJFXs'
- TOKEN = 'AWYVs7Vim7mwYyT1BLJA2xhNTs_vXLYS'
- TOKEN_SECRET = 'Rv4GrlYxYGhxUs14s0VBfk7JLJY'
- def requestData(location):
- '''
- Authenticates a request and returns
- data from Yelp API.
- '''
- data = []
- url = 'http://api.yelp.com/v2/business/' + location + '?'
- consumer = oauth2.Consumer(CONSUMER_KEY, CONSUMER_SECRET)
- oauth_request = oauth2.Request(method="GET", url=url)
- oauth_request.update(
- {
- 'oauth_nonce': oauth2.generate_nonce(),
- 'oauth_timestamp': oauth2.generate_timestamp(),
- 'oauth_token': TOKEN,
- 'oauth_consumer_key': CONSUMER_KEY
- }
- )
- token = oauth2.Token(TOKEN, TOKEN_SECRET)
- oauth_request.sign_request(oauth2.SignatureMethod_HMAC_SHA1(), consumer, token)
- signed_url = oauth_request.to_url()
- req = requests.get(signed_url)
- content = json.loads(req.content)
- data.append(content)
- return data
|