def music_add_artist_to_library(artist_name): import math library_folder = setup_library( plugin.get_setting(SETTING_MUSIC_LIBRARY_FOLDER, unicode)) album_results = lastfm.get_artist_top_albums(artist_name) total_albums = len(album_results) index = 0 pDialog = xbmcgui.DialogProgress() pDialog.create( '[COLOR yellow]chappaai[/COLOR]', _("{0} {1} {2}").format(_("Adding"), artist_name, _("to library"))) for album in album_results["album"]: album_name = to_utf8(album["name"]) percent_done = int(math.floor((float(index) / total_albums) * 100)) pDialog.update( percent_done, _("{0} {1} - {2} {3}").format(_("Adding"), artist_name, album_name, _("to library"))) track_results = lastfm.get_album_info(artist_name, album_name) for track in track_results["tracks"]["track"]: if pDialog.iscanceled(): pDialog.update(0) return track_name = to_utf8(track["name"]) add_music_to_library(library_folder, artist_name, album_name, track_name) index += 1 pDialog.update(0) scan_library(type="music")
def music_add_artist_to_library(artist_name): import math library_folder = setup_library(plugin.get_setting(SETTING_MUSIC_LIBRARY_FOLDER)) album_results = lastfm.get_artist_top_albums(artist_name) total_albums = len(album_results) index = 0 pDialog = xbmcgui.DialogProgress() pDialog.create( "[COLOR ff0084ff]M[/COLOR]etalli[COLOR ff0084ff]Q[/COLOR]", _("{0} {1} {2}").format(_("Adding"), artist_name, _("to library")), ) for album in album_results["album"]: album_name = to_utf8(album["name"]) percent_done = int(math.floor((float(index) / total_albums) * 100)) pDialog.update( percent_done, _("{0} {1} - {2} {3}").format(_("Adding"), artist_name, album_name, _("to library")) ) track_results = lastfm.get_album_info(artist_name, album_name) for track in track_results["tracks"]["track"]: if pDialog.iscanceled(): pDialog.update(0) return track_name = to_utf8(track["name"]) add_music_to_library(library_folder, artist_name, album_name, track_name) index += 1 pDialog.update(0) scan_library(type="music")
def music_artist_albums(artist_name, page): artist_name = to_utf8(artist_name) results = lastfm.get_artist_top_albums(artist_name, page) items = [{ 'label': _("All Tracks"), 'path': plugin.url_for("music_artist_tracks", artist_name=artist_name), 'icon': get_icon_path("music") }] for album in results["album"]: album_name = to_utf8(album["name"]) image = album['image'][-1]['#text'] artist_album_name = to_utf8(album['artist']['name']) context_menu = [(_("Scan item to library"), "RunPlugin({0})".format( plugin.url_for("music_add_album_to_library", artist_name=artist_album_name, album_name=album_name)))] item = { 'thumbnail': image, 'label': "{0}".format(album_name), 'info': { 'title': album_name, 'artist': [artist_album_name], }, 'info_type': 'music', 'path': plugin.url_for("music_artist_album_tracks", artist_name=artist_name, album_name=album_name), 'context_menu': context_menu } items.append(item) if results["@attr"]["totalPages"] > page: next_page = int(page) + 1 items.append({ 'label': _("Next >>"), 'icon': get_icon_path("item_next"), 'path': plugin.url_for("music_artist_albums", artist_name=artist_name, page=next_page) }) if FORCE == True: plugin.set_view_mode(VIEW) return items else: return items
def music_artist_albums(artist_name, page): artist_name = to_utf8(artist_name) results = lastfm.get_artist_top_albums(artist_name, page) items = [ { 'label': _("All Tracks"), 'path': plugin.url_for("music_artist_tracks", artist_name=artist_name), 'icon': get_icon_path("music") } ] for album in results["album"]: album_name = to_utf8(album["name"]) image = album['image'][-1]['#text'] artist_album_name = to_utf8(album['artist']['name']) context_menu = [ ( _("Scan item to library"), "RunPlugin({0})".format(plugin.url_for("music_add_album_to_library", artist_name=artist_album_name, album_name=album_name)) ) ] item = { 'thumbnail': image, 'label': "{0}".format(album_name), 'info': { 'title': album_name, 'artist': [artist_album_name], }, 'info_type': 'music', 'path': plugin.url_for("music_artist_album_tracks", artist_name=artist_name, album_name=album_name), 'context_menu': context_menu } items.append(item) if results["@attr"]["totalPages"] > page: next_page = int(page) + 1 items.append({ 'label': _("Next >>"), 'icon': get_icon_path("item_next"), 'path': plugin.url_for("music_artist_albums", artist_name=artist_name, page=next_page) }) if FORCE == True: plugin.set_view_mode(VIEW); return items else: return items
def music_artist_albums(artist_name, page): artist_name = to_utf8(artist_name) results = lastfm.get_artist_top_albums(artist_name, page) items = [ { "label": _("All Tracks"), "path": plugin.url_for("music_artist_tracks", artist_name=artist_name), "icon": get_icon_path("music"), } ] for album in results["album"]: album_name = to_utf8(album["name"]) image = album["image"][-1]["#text"] artist_album_name = to_utf8(album["artist"]["name"]) context_menu = [ ( _("Add to library"), "RunPlugin({0})".format( plugin.url_for("music_add_album_to_library", artist_name=artist_album_name, album_name=album_name) ), ) ] item = { "thumbnail": image, "label": "{0}".format(album_name), "info": {"title": album_name, "artist": [artist_album_name]}, "info_type": "music", "path": plugin.url_for("music_artist_album_tracks", artist_name=artist_name, album_name=album_name), "context_menu": context_menu, } items.append(item) if results["@attr"]["totalPages"] > page: next_page = int(page) + 1 items.append( { "label": _("Next >>"), "icon": get_icon_path("item_next"), "path": plugin.url_for(music_artist_albums, artist_name=artist_name, page=next_page), } ) return items