Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
Example #8
0
    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)