def getFSVenues(self, detailedItems): parsedtime = date.today().strftime('%Y%m%d') params = dict(client_id=config.FOURSQUARE_CLIENT_ID, client_secret=config.FOURSQUARE_CLIENT_SECRET, v=parsedtime) for key in detailedItems.keys(): if check_cache('venue_' + key + '.json', False): cache = retrieve_cache('venue_' + key + '.json', False) parsed = json.loads(cache) fsvenueobj = mp.f_location(parsed) detailedItems[key].set_fslocation(fsvenueobj) else: pass url = 'https://api.foursquare.com/v2/venues/' + key response = requests.get(url=url, params=params) if response.status_code != 200: if response.status_code == 429: print("quota exceeded on " + key) break continue content = response.text parsed = json.loads(content) store_cache(content, 'venue_' + key + '.json') fsvenueobj = mp.f_location(parsed) detailedItems[key].set_fslocation(fsvenueobj) return detailedItems
def getVenue(self, venueId): dictres = None if check_cache('venue_' + venueId + '.json', False): cache = retrieve_cache('venue_' + venueId + '.json', False) dictres = json.loads(cache) else: session = FuturesSession(executor=ThreadPoolExecutor( max_workers=1)) rawtime = date.today() - timedelta(days=1) parsedtime = rawtime.strftime('%Y%m%d') params = dict(client_id=config.FOURSQUARE_CLIENT_ID, client_secret=config.FOURSQUARE_CLIENT_SECRET, v=parsedtime) futures.append( session.get('https://api.foursquare.com/v2/venues/' + venueId, params=params)) response = future.result() if response.status_code != 200: return None content = response.text dictres = json.loads(content) vid = dictres['response']['venue']['id'] store_cache(content, 'venue_' + vid + '.json') if dictres is None: return None return mp.f_location(dictres)
def procfsvenue(self, parsed): return mp.f_location(parsed)