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
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)
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())
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())
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())
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)
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)
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())
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())
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())