def get_categories(self): categories_url = '{base}/categories.json'.format(base=BASE_API_URL) ok, response = self._get_json(categories_url) if ok: return JSONResponse(ok=ok, data=response['categories']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def get_spammy_trends(self): spammy_trends_url = '{base}/trends/active.json'.format( base=BASE_API_URL) ok, response = self._get_json(spammy_trends_url) if ok: return JSONResponse(ok=ok, data=response['trends']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def get_locations(self): all_locations_url = '{base}/locations/all.json'.format( base=BASE_API_URL) ok, response = self._get_json(all_locations_url) if ok: return JSONResponse(ok=ok, data=response['locations']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def get_trends_by_location(self, location='earth'): location_code = self._get_location_code(location) location_trends_url = '{base}/trends/locations/top.json?place_type_code={code}'.format( base=BASE_API_URL, code=location_code) ok, response = self._get_json(location_trends_url) if ok: return JSONResponse(ok=ok, data=response['trends']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def get_trends(self, around=None): woeid = None if around: woeid = self._get_woeid_by_name(around) trends_url = '{base}/trends.json?woeid={id}'.format(base=BASE_API_URL, id=woeid) ok, response = self._get_json(trends_url) if ok: return JSONResponse(ok=ok, data=response['trends']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def get_trend_by_id(self, id, versions=-1): if not id: raise ValueError("Provide a valid id.") trend_url = '{base}/trend/getById/{id}/json'.format( base=BASE_API_URL_V1, id=id) ok, response = self._get_json(trend_url, params={'versions': versions}) if ok: return JSONResponse(ok=ok, data=response['api']['trend']) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def search_trend(self, q): if not q: return list() search_url = '{base}/trend/search'.format(base=BASE_API_URL_V1) ok, response = self._get_text(search_url, params={'q': q}) if ok: return JSONResponse( ok=ok, data=list(map(str.strip, response.split('\n')))) return JSONResponse( message='Something went wrong. Please, try again later', status=response)
def extended_search_trend(self, q, count=10): if not q: return list() search_url = '{base}/trend/search_extended/json'.format( base=BASE_API_URL_V1) ok, response = self._get_json( search_url, params={'q': q, 'count': count}) if ok: return JSONResponse(ok=ok, data=response['api']['trends']["trend"]) return JSONResponse( message='Something went wrong. Please, try again later', status=response)