def MainMenu(complete=False, offline=False): oc = ObjectContainer(title1='Muzarbuz', art=R(ART)) oc.http_cookies = HTTP.CookiesForURL(service.API_URL) oc = ObjectContainer(title2=unicode(L('Music'))) oc.add( DirectoryObject(key=Callback(albums.GetAlbumsMenu, title=L('Albums')), title=unicode(L('Albums')))) oc.add( DirectoryObject(key=Callback(artists.GetArtistsMenu, title=L('Artists')), title=unicode(L('Artists')))) oc.add( DirectoryObject(key=Callback(collections.GetCollectionsMenu, title=L('Collections')), title=unicode(L('Collections')))) oc.add( DirectoryObject(key=Callback(genres.GetGenresMenu, title=L('Genres')), title=unicode(L('Genres')))) common.add_search_music(oc) return oc
def GetQueue(title, filter=None): oc = ObjectContainer(title2=unicode(L(title))) for media in service.music_queue.data: type = media['type'] if type == filter: id = media['id'] name = media['name'] if 'thumb' in media: thumb = media['thumb'] else: thumb = 'thumb' if filter == 'audio_tracks': key = Callback(audio_tracks.HandleAudioTracks, album=id, name=name, thumb=thumb) oc.add( DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'album': key = Callback(audio_tracks.HandleAudioTracks, album=id, name=name, thumb=thumb) oc.add( DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'artists': key = Callback(artists.GetArtistMenu, id=id, title=L(name), thumb=thumb) oc.add( DirectoryObject(key=key, title=unicode(L(name)), thumb=thumb)) elif filter == 'collection__id': key = Callback(audio_tracks.HandleAudioTracks, collection__id=id, name=name, thumb=thumb) oc.add( DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'genre__in': key = Callback(albums.HandleAlbums, title=name, genre__in=id) oc.add(DirectoryObject(key=key, title=unicode(name))) elif filter == 'parent__id': key = Callback(albums.HandleDoubleAlbum, name=name, parent__id=id, thumb=thumb) oc.add( DirectoryObject(key=key, title=unicode(name), thumb=thumb)) common.add_search_music(oc) 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 MainMenu(complete=False, offline=False): oc = ObjectContainer(title1='Muzarbuz', art=R(ART)) oc.http_cookies = HTTP.CookiesForURL(service.API_URL) oc = ObjectContainer(title2=unicode(L('Music'))) oc.add(DirectoryObject(key=Callback(albums.GetAlbumsMenu, title=L('Albums')), title=unicode(L('Albums')))) oc.add(DirectoryObject(key=Callback(artists.GetArtistsMenu, title=L('Artists')), title=unicode(L('Artists')))) oc.add(DirectoryObject(key=Callback(collections.GetCollectionsMenu, title=L('Collections')), title=unicode(L('Collections')))) oc.add(DirectoryObject(key=Callback(genres.GetGenresMenu, title=L('Genres')), title=unicode(L('Genres')))) common.add_search_music(oc) return oc
def GetGenresMenu(title): oc = ObjectContainer(title2=unicode(L(title))) oc.add(DirectoryObject( key=Callback(HandleMusicGenres, title=L('All Genres')), title=unicode(L('All Genres')) )) oc.add(DirectoryObject( key=Callback(music_queue.GetQueue, filter='genre__in', title=L('Favorite Genres')), title=unicode(L('Favorite Genres')) )) common.add_search_music(oc) return oc
def HandleMusicGenres(title): oc = ObjectContainer() response = service.get_genres(limit=0) count = response['meta']['total_count'] oc.title2 = unicode(L(title)) + ' (' + str(count) + ')' for media in response['objects']: id = media['id'] title = media['title'] thumb = 'thumb' key = Callback(HandleMusicGenre, title=title, thumb=thumb, genre__in=id) oc.add(DirectoryObject(key=key, title=unicode(title), thumb=thumb)) common.add_search_music(oc) return oc
def GetQueue(title, filter=None): oc = ObjectContainer(title2=unicode(L(title))) for media in service.music_queue.data: type = media['type'] if type == filter: id = media['id'] name = media['name'] if 'thumb' in media: thumb = media['thumb'] else: thumb = 'thumb' if filter == 'audio_tracks': key = Callback(audio_tracks.HandleAudioTracks, album=id, name=name, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'album': key = Callback(audio_tracks.HandleAudioTracks, album=id, name=name, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'artists': key=Callback(artists.GetArtistMenu, id=id, title=L(name), thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(L(name)), thumb=thumb )) elif filter == 'collection__id': key = Callback(audio_tracks.HandleAudioTracks, collection__id=id, name=name, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) elif filter == 'genre__in': key = Callback(albums.HandleAlbums, title=name, genre__in=id) oc.add(DirectoryObject(key=key, title=unicode(name))) elif filter == 'parent__id': key = Callback(albums.HandleDoubleAlbum, name=name, parent__id=id, thumb=thumb) oc.add(DirectoryObject(key=key, title=unicode(name), thumb=thumb)) common.add_search_music(oc) return oc