def HandleAlbums(title, page=1, **params): oc = ObjectContainer(title2=unicode(L(title))) page = int(page) limit = common.get_elements_per_page() offset = (page - 1) * limit response = service.get_albums(limit=limit, offset=offset, year__gte=common.get_start_music_year(), year__lte=common.get_end_music_year(), **params) oc.title2 = unicode(L(title)) + ' (' + str( response['meta']['total_count']) + ')' for media in BuildAlbumsList(response['objects']): oc.add(media) oc.add( InputDirectoryObject(key=Callback(SearchMusicAlbums, title=unicode(L("Albums Search")), page=page), title=unicode(L("Albums Search")), thumb=R(SEARCH_ICON))) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleAlbums, title=title, page=page, **params) return oc
def HandleCollections(title, page=1, **params): oc = ObjectContainer() page = int(page) limit = common.get_elements_per_page() offset = (page - 1) * limit response = service.get_collections(limit=limit, offset=offset) oc.title2 = unicode(L('Collections')) + ' (' + str( response['meta']['total_count']) + ')' for media in response['objects']: id = media['id'] name = media['title'] thumb = media['thumbnail'] key = Callback(HandleCollection, collection__id=id, title=name, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) add_search_collections(oc) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleCollections, title=title, page=page) return oc
def HandleCollections(title, page=1, **params): oc = ObjectContainer() page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.get_collections(limit=limit, offset=offset) oc.title2 = unicode(L('Collections')) + ' (' + str(response['meta']['total_count']) + ')' for media in response['objects']: id = media['id'] name = media['title'] thumb = media['thumbnail'] key = Callback(HandleCollection, collection__id=id, title=name, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) add_search_collections(oc) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleCollections, title=title, page=page) return oc
def HandleAlbums(title, page=1, **params): oc = ObjectContainer(title2=unicode(L(title))) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.get_albums(limit=limit, offset=offset, year__gte=common.get_start_music_year(), year__lte=common.get_end_music_year(), **params) oc.title2 = unicode(L(title)) + ' (' + str(response['meta']['total_count']) + ')' for media in BuildAlbumsList(response['objects']): oc.add(media) oc.add(InputDirectoryObject( key=Callback(SearchMusicAlbums, title=unicode(L("Albums Search")), page=page), title=unicode(L("Albums Search")), thumb=R(SEARCH_ICON) )) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleAlbums, title=title, page=page, **params) return oc
def SearchMusicAudioTracks(title, query, page, **params): oc = ObjectContainer(title2=unicode(L(title))) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.search_audio_track(q=query, limit=common.get_elements_per_page(), offset=offset) for media in response['objects']: title = media['title'] thumb = 'thumb' file = media['file'] if media['album']['artist']: artist = media['album']['artist']['title'] else: artist = '' format = 'mp3' url = service.BASE_URL + file oc.add(GetAudioTrack(title=unicode(title), thumb=thumb, artist=artist, format=format, url=url)) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=SearchMusicAudioTracks, title=title, query=query, page=page, **params) return oc
def HandleAudioTracks(name, thumb, page=1, **params): oc = ObjectContainer(title2=unicode(name)) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.get_tracks(limit=common.get_elements_per_page(), offset=offset, **params) for media in response['objects']: title = media['title'] file = media['file'] if media['album']['artist']: artist = media['album']['artist']['title'] else: artist = '' format = 'mp3' url = service.BASE_URL + file oc.add(GetAudioTrack(title=unicode(title), thumb=thumb, artist=artist, format=format, url=url)) music_queue.append_controls(oc, name=name, thumb=thumb, **params) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleAudioTracks, name=name, thumb=thumb, page=page, **params) return oc
def SearchMusicArtists(title, query, page, **params): oc = ObjectContainer(title2=unicode(L(title))) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.search_artist_annotated(q=query, limit=common.get_elements_per_page(), offset=offset) for artist in BuildArtistsList(response['objects']): oc.add(artist) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=SearchMusicArtists, title=title, query=query, page=page, **params) return oc
def HandleLetter(title, page=1, **params): oc = ObjectContainer(title2=unicode(title)) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.get_artist_annotated(limit=limit, offset=offset, **params) for artist in BuildArtistsList(response['objects']): oc.add(artist) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleLetter, title=title, page=page, **params) add_search_artists(oc) return oc
def HandleArtists(title, page=1, **params): oc = ObjectContainer(title2=unicode(L(title))) page = int(page) limit = common.get_elements_per_page() offset = (page-1)*limit response = service.get_artists(limit=limit, offset=offset, **params) oc.title2 = unicode(L(title)) + ' (' + str(response['meta']['total_count']) + ')' for artist in BuildArtistsList(response['objects']): oc.add(artist) common.add_pagination_to_response(response, page) pagination.append_controls(oc, response, callback=HandleArtists, title=title, page=page) add_search_artists(oc) return oc