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 GetArtistMenu(id, title, thumb, **params): oc = ObjectContainer(title2=unicode(L("Artist") + " " + title)) response1 = service.get_albums(artists=id, limit=1, offset=0, year__gte=common.get_start_music_year(), year__lte=common.get_end_music_year()) count1 = int(response1['meta']['total_count']) if count1 > 0: oc.add(DirectoryObject( key=Callback(albums.HandleAlbums, title=unicode(L('Albums')) + " " + title, artists=id), title=unicode(L('Albums') + ' (' + str(count1) + ')'), thumb=thumb )) response2 = service.get_tracks(artists=id, limit=1, offset=0, year__gte=common.get_start_music_year(), year__lte=common.get_end_music_year()) count2 = int(response2['meta']['total_count']) if count2 > 0: oc.add(DirectoryObject( key=Callback(audio_tracks.HandleAudioTracks, name=L('Audio Tracks') + " " + title, thumb=thumb, artists=id), title=unicode(L('Audio Tracks') + ' (' + response2['meta']['total_count'] + ')'), thumb=thumb )) music_queue.append_controls(oc, name=title, artists=id, thumb=thumb) return oc
def HandleCollection(title, collection__id, thumb): oc = ObjectContainer(title2=unicode(L(title))) key = Callback(audio_tracks.HandleAudioTracks, name=title, collection__id=collection__id, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb)) music_queue.append_controls(oc, name=title, thumb=thumb, collection__id=collection__id) return oc
def HandleMusicGenre(title, genre__in, thumb): oc = ObjectContainer(title2=unicode(L(title))) key = Callback(albums.HandleAlbums, title=title, genre__in=genre__in) oc.add(DirectoryObject(key=key, title=unicode(title))) music_queue.append_controls(oc, name=title, thumb=thumb, genre__in=genre__in) common.add_search_music(oc) return oc
def HandleDoubleAlbum(name, thumb, **params): oc = ObjectContainer(title2=unicode(name)) response = service.get_albums(limit=common.get_elements_per_page(), year__gte=common.get_start_music_year(), year__lte=common.get_end_music_year(), **params) for media in response['objects']: id = media['id'] title = media['title'] thumb = media['thumbnail'] key = Callback(audio_tracks.HandleAudioTracks, album=id, name=title, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb)) music_queue.append_controls(oc, name=name, thumb=thumb, **params) return oc