예제 #1
0
    def test_missing_key_kind(self):
        working_path = os.getcwd()
        json_filename = os.path.join(working_path, 'result.json')
        json_file = open(json_filename)
        json_data = json.load(json_file, encoding='utf-8')
        json_file.close()

        convert_to_items(json_data)
        pass
예제 #2
0
 def get_genre(self, genre, page=1):
     params = self._create_params(page)
     response = self._request(self._create_url('app/mobileapps/suggestions/tracks/categories/%s' % genre),
                              headers={'Accept': 'application/json'},
                              params=params)
     self._handle_error(response)
     return items.convert_to_items(response.json(), mobile_conversion=True)
예제 #3
0
 def get_tracks(self, user_id, page=1):
     params = self._create_params(page)
     params['linked_partitioning'] = '1'
     response = self._request(self._create_url('tracks', user_id=user_id),
                              headers={'Accept': 'application/json'},
                              params=params)
     self._handle_error(response)
     return items.convert_to_items(response.json())
예제 #4
0
 def get_playlists(self, user_id, page=1):
     params = self._create_params(page)
     params['linked_partitioning'] = '1'
     response = self._request(self._create_url('playlists', user_id=user_id),
                              headers={'Accept': 'application/json'},
                              params=params)
     self._handle_error(response)
     return items.convert_to_items(response.json())
예제 #5
0
 def get_recommended_for_track(self, track_id, page=1):
     params = self._create_params(page)
     params['linked_partitioning'] = '1'
     response = self._request(self._create_url('tracks/%s/related' % str(track_id)),
                              headers={'Accept': 'application/json'},
                              params=params)
     self._handle_error(response)
     return items.convert_to_items(response.json())
예제 #6
0
    def get_playlist(self, playlist_id):
        response = self._request(self._create_url('playlists/%s' % unicode(playlist_id)),
                                 headers={'Accept': 'application/json'})
        self._handle_error(response)
        json_result = response.json()

        # we transform the result of the playlist, so we can use the common method
        json_result['collection'] = json_result['tracks']
        return items.convert_to_items(json_result, process_tracks_of_playlist=True)
예제 #7
0
    def get_trending(self, category='music', page=1):
        if not category.lower() in ['music', 'audio']:
            raise ProviderException('Unknown category "%s"' % category)

        params = self._create_params(page)
        response = self._request(self._create_url('app/mobileapps/suggestions/tracks/popular/%s' % category),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json(), mobile_conversion=True)
예제 #8
0
    def get_stream(self, page_cursor=None):
        params = self._create_params()
        if page_cursor is not None:
            params['cursor'] = page_cursor
            pass

        response = self._request(self._create_url('me/activities/tracks/affiliated'),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json())
예제 #9
0
    def get_likes(self, user_id, page=1):
        params = self._create_params(page)
        params['linked_partitioning'] = '1'
        if page > 1:
            params['page_size'] = params['offset']
            params['page_number'] = unicode(page)
            pass

        response = self._request(self._create_url('e1/users/%s/likes' % unicode(user_id)),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json())
    def search(self, search_text, category='sounds', page=1):

        if not category in ['sounds', 'people', 'sets']:
            raise ProviderException('Unknown category "%s"' % category)

        params = {'limit': str(self._items_per_page), 'q': search_text}
        if page > 1:
            params['offset'] = str((page - 1) * self._items_per_page)
            pass

        response = self._request(self._create_url('search/%s' % category),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json())
예제 #11
0
    def search(self, search_text, category='sounds', page=1):

        if not category in ['sounds', 'people', 'sets']:
            raise ProviderException('Unknown category "%s"' % category)

        params = {'limit': str(self._items_per_page),
                  'q': search_text}
        if page > 1:
            params['offset'] = str((page - 1) * self._items_per_page)
            pass

        response = self._request(self._create_url('search/%s' % category),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json())
예제 #12
0
    def search(self, search_text, category='tracks', page=1):
        if not category in ['tracks', 'users', 'playlists']:
            raise ProviderException('Unknown category "%s"' % category)

        params = {
            'limit': str(self._items_per_page),
            'q': search_text,
            'linked_partitioning': page
        }
        # if page > 1:
        #     params['offset'] = str((page - 1) * self._items_per_page)

        response = self._request(self._create_url('%s/' % category),
                                 headers={'Accept': 'application/json'},
                                 params=params)
        self._handle_error(response)
        return items.convert_to_items(response.json())