Python xbmcplugin.setProperty() Examples
The following are 30
code examples of xbmcplugin.setProperty().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
xbmcplugin
, or try the search function
.
Example #1
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def get_authkey(self): '''get authentication key''' auth_token = None count = 10 while not auth_token and count: # wait max 5 seconds for the token auth_token = self.win.getProperty("spotify-token").decode("utf-8") count -= 1 if not auth_token: xbmc.sleep(500) if not auth_token: if self.win.getProperty("spotify.supportsplayback"): if self.win.getProperty("spotify-discovery") == "disabled": msg = self.addon.getLocalizedString(11050) else: msg = self.addon.getLocalizedString(11065) dialog = xbmcgui.Dialog() header = self.addon.getAddonInfo("name") dialog.ok(header, msg) del dialog else: # login with browser request_token_web(force=True) self.win.setProperty("spotify-cmd", "__LOGOUT__") return auth_token
Example #2
Source File: container.py From plugin.video.themoviedb.helper with GNU General Public License v3.0 | 6 votes |
def finish_container(self): if self.params.get('random'): return for k, v in self.params.items(): if not k or not v: continue try: xbmcplugin.setProperty(self.handle, u'Param.{}'.format(k), u'{}'.format(v)) # Set params to container properties except Exception as exc: utils.kodi_log(u'Error: {}\nUnable to set Param.{} to {}'.format(exc, k, v), 1) if self.item_dbtype in ['movie', 'tvshow', 'episode']: xbmcplugin.addSortMethod(self.handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(self.handle, xbmcplugin.SORT_METHOD_EPISODE) if self.item_dbtype == 'episode' else None xbmcplugin.addSortMethod(self.handle, xbmcplugin.SORT_METHOD_TITLE_IGNORE_THE) xbmcplugin.addSortMethod(self.handle, xbmcplugin.SORT_METHOD_LASTPLAYED) xbmcplugin.addSortMethod(self.handle, xbmcplugin.SORT_METHOD_PLAYCOUNT) xbmcplugin.endOfDirectory(self.handle, updateListing=self.updatelisting)
Example #3
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def precache_library(self): if not self.win.getProperty("Spotify.PreCachedItems"): monitor = xbmc.Monitor() self.win.setProperty("Spotify.PreCachedItems", "busy") userplaylists = self.get_user_playlists(self.userid) for playlist in userplaylists: self.get_playlist_details(playlist['owner']['id'], playlist["id"]) if monitor.abortRequested(): return self.get_savedalbums() if monitor.abortRequested(): return self.get_savedartists() if monitor.abortRequested(): return self.get_saved_tracks() del monitor self.win.setProperty("Spotify.PreCachedItems", "done")
Example #4
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def search_playlists(self): xbmcplugin.setContent(self.addon_handle, "files") result = self.sp.search( q=self.playlistid, type='playlist', limit=self.limit, offset=self.offset, market=self.usercountry) log_msg(result) xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(136)) playlists = self.prepare_playlist_listitems(result['playlists']['items']) self.add_playlist_listitems(playlists) self.add_next_button(result['playlists']['total']) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_playlists: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_playlists)
Example #5
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def search_albums(self): xbmcplugin.setContent(self.addon_handle, "albums") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(132)) result = self.sp.search( q="album:%s" % self.albumid, type='album', limit=self.limit, offset=self.offset, market=self.usercountry) albumids = [] for album in result['albums']['items']: albumids.append(album["id"]) albums = self.prepare_album_listitems(albumids) self.add_album_listitems(albums, True) self.add_next_button(result['albums']['total']) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_albums: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_albums)
Example #6
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def search_tracks(self): xbmcplugin.setContent(self.addon_handle, "songs") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(134)) result = self.sp.search( q="track:%s" % self.trackid, type='track', limit=self.limit, offset=self.offset, market=self.usercountry) tracks = self.prepare_track_listitems(tracks=result["tracks"]["items"]) self.add_track_listitems(tracks, True) self.add_next_button(result['tracks']['total']) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_songs: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_songs)
Example #7
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def browse_album(self): xbmcplugin.setContent(self.addon_handle, "songs") album = self.sp.album(self.albumid, market=self.usercountry) xbmcplugin.setProperty(self.addon_handle, 'FolderName', album["name"]) tracks = self.get_album_tracks(album) if album.get("album_type") == "compilation": self.add_track_listitems(tracks, True) else: self.add_track_listitems(tracks) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_TRACKNUM) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_SONG_RATING) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_ARTIST) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_songs: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_songs)
Example #8
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 6 votes |
def search_artists(self): xbmcplugin.setContent(self.addon_handle, "artists") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(133)) result = self.sp.search( q="artist:%s" % self.artistid, type='artist', limit=self.limit, offset=self.offset, market=self.usercountry) artists = self.prepare_artist_listitems(result['artists']['items']) self.add_artist_listitems(artists) self.add_next_button(result['artists']['total']) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_artists: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_artists)
Example #9
Source File: kodiutils.py From plugin.video.vrt.nu with GNU General Public License v3.0 | 5 votes |
def set_property(key, value, window_id=10000): """Set a Window property""" from xbmcgui import Window return Window(window_id).setProperty(key, from_unicode(value))
Example #10
Source File: container.py From plugin.video.themoviedb.helper with GNU General Public License v3.0 | 5 votes |
def play_islocked(self, lock=None): for k, v in self.params.items(): lock = '{}.{}={}'.format(lock, k, v) if lock else '{}={}'.format(k, v) cur_lock = xbmcgui.Window(10000).getProperty('TMDbHelper.Player.ResolvedUrl') if cur_lock == lock: utils.kodi_log(u'Container -- Play IsLocked:\n{0}'.format(self.params), 1) return cur_lock xbmcgui.Window(10000).setProperty('TMDbHelper.Player.ResolvedUrl', lock)
Example #11
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_savedartists(self): xbmcplugin.setContent(self.addon_handle, "artists") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(133)) artists = self.get_savedartists() self.add_artist_listitems(artists) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_artists: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_artists)
Example #12
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_savedtracks(self): xbmcplugin.setContent(self.addon_handle, "songs") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(134)) tracks = self.get_saved_tracks() self.add_track_listitems(tracks, True) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_songs: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_songs)
Example #13
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_savedalbums(self): xbmcplugin.setContent(self.addon_handle, "albums") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(132)) albums = self.get_savedalbums() self.add_album_listitems(albums, True) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_ALBUM_IGNORE_THE) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_SONG_RATING) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) xbmcplugin.setContent(self.addon_handle, "albums") if self.defaultview_albums: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_albums)
Example #14
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_artistalbums(self): xbmcplugin.setContent(self.addon_handle, "albums") xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(132)) artist = self.sp.artist(self.artistid) artistalbums = self.sp.artist_albums( self.artistid, limit=50, offset=0, market=self.usercountry, album_type='album,single,compilation') count = len(artistalbums['items']) albumids = [] while artistalbums['total'] > count: artistalbums['items'] += self.sp.artist_albums(self.artistid, limit=50, offset=count, market=self.usercountry, album_type='album,single,compilation')['items'] count += 50 for album in artistalbums['items']: albumids.append(album["id"]) albums = self.prepare_album_listitems(albumids) self.add_album_listitems(albums) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_ALBUM_IGNORE_THE) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_SONG_RATING) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_albums: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_albums)
Example #15
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def add_playlist_listitems(self, playlists): for item in playlists: if KODI_VERSION > 17: li = xbmcgui.ListItem(item["name"], path=item['url'], offscreen=True) else: li = xbmcgui.ListItem(item["name"], path=item['url']) li.setProperty('do_not_analyze', 'true') li.setProperty('IsPlayable', 'false') li.addContextMenuItems(item["contextitems"], True) li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg", "thumb": item['thumb']}) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item["url"], listitem=li, isFolder=True)
Example #16
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def add_album_listitems(self, albums, append_artist_to_label=False): # process listing for item in albums: if append_artist_to_label: label = "%s - %s" % (item["artist"], item['name']) else: label = item['name'] if KODI_VERSION > 17: li = xbmcgui.ListItem(label, path=item['url'], offscreen=True) else: li = xbmcgui.ListItem(label, path=item['url']) infolabels = { "title": item['name'], "genre": item["genre"], "year": item["year"], "album": item["name"], "artist": item["artist"], "rating": item["rating"] } li.setInfo(type="Music", infoLabels=infolabels) li.setArt({"thumb": item['thumb']}) li.setProperty('do_not_analyze', 'true') li.setProperty('IsPlayable', 'false') li.addContextMenuItems(item["contextitems"], True) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item["url"], listitem=li, isFolder=True)
Example #17
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_newreleases(self): xbmcplugin.setContent(self.addon_handle, "albums") xbmcplugin.setProperty(self.addon_handle, 'FolderName', self.addon.getLocalizedString(11005)) albums = self.get_newreleases() self.add_album_listitems(albums) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_albums: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_albums)
Example #18
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_playlists(self): xbmcplugin.setContent(self.addon_handle, "files") if self.filter == "featured": playlists = self.get_featured_playlists() xbmcplugin.setProperty(self.addon_handle, 'FolderName', playlists['message']) playlists = playlists['playlists']['items'] else: xbmcplugin.setProperty(self.addon_handle, 'FolderName', xbmc.getLocalizedString(136)) playlists = self.get_user_playlists(self.ownerid) self.add_playlist_listitems(playlists) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_playlists: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_playlists)
Example #19
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_category(self): xbmcplugin.setContent(self.addon_handle, "files") playlists = self.get_category(self.filter) self.add_playlist_listitems(playlists['playlists']['items']) xbmcplugin.setProperty(self.addon_handle, 'FolderName', playlists['category']) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_category: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_category)
Example #20
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def related_artists(self): xbmcplugin.setContent(self.addon_handle, "artists") xbmcplugin.setProperty(self.addon_handle, 'FolderName', self.addon.getLocalizedString(11012)) cachestr = "spotify.relatedartists.%s" % self.artistid checksum = self.cache_checksum() artists = self.cache.get(cachestr, checksum=checksum) if not artists: artists = self.sp.artist_related_artists(self.artistid) artists = self.prepare_artist_listitems(artists['artists']) self.cache.set(cachestr, artists, checksum=checksum) self.add_artist_listitems(artists) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_artists: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_artists)
Example #21
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def artist_toptracks(self): xbmcplugin.setContent(self.addon_handle, "songs") xbmcplugin.setProperty(self.addon_handle, 'FolderName', self.addon.getLocalizedString(11011)) tracks = self.sp.artist_top_tracks(self.artistid, country=self.usercountry) tracks = self.prepare_track_listitems(tracks=tracks["tracks"]) self.add_track_listitems(tracks) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_TRACKNUM) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_SONG_RATING) xbmcplugin.endOfDirectory(handle=self.addon_handle) if self.defaultview_songs: xbmc.executebuiltin('Container.SetViewMode(%s)' % self.defaultview_songs)
Example #22
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_main_explore(self): # explore nodes xbmcplugin.setContent(self.addon_handle, "files") xbmcplugin.setProperty(self.addon_handle, 'FolderName', self.addon.getLocalizedString(11014)) items = [] items.append( (self.addon.getLocalizedString(11015), "plugin://plugin.audio.spotify/?action=browse_playlists&applyfilter=featured", "DefaultMusicPlaylists.png")) items.append( (self.addon.getLocalizedString(11016), "plugin://plugin.audio.spotify/?action=browse_newreleases", "DefaultMusicAlbums.png")) # add categories items += self.get_explore_categories() for item in items: li = xbmcgui.ListItem( item[0], path=item[1], iconImage=item[2] ) li.setProperty('do_not_analyze', 'true') li.setProperty('IsPlayable', 'false') li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"}) li.addContextMenuItems([], True) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item[1], listitem=li, isFolder=True) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle)
Example #23
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def browse_main(self): # main listing xbmcplugin.setContent(self.addon_handle, "files") items = [] items.append( (self.addon.getLocalizedString(11013), "plugin://plugin.audio.spotify/?action=browse_main_library", "DefaultMusicCompilations.png", True)) items.append( (self.addon.getLocalizedString(11014), "plugin://plugin.audio.spotify/?action=browse_main_explore", "DefaultMusicGenres.png", True)) items.append( (xbmc.getLocalizedString(137), "plugin://plugin.audio.spotify/?action=search", "DefaultMusicSearch.png", True)) items.append( ("%s: %s" % (self.addon.getLocalizedString(11039), self.playername), "plugin://plugin.audio.spotify/?action=browse_playback_devices", "DefaultMusicPlugins.png", True)) cur_user_label = self.sp.me()["display_name"] if not cur_user_label: cur_user_label = self.sp.me()["id"] label = "%s: %s" % (self.addon.getLocalizedString(11047), cur_user_label) items.append( (label, "plugin://plugin.audio.spotify/?action=switch_user", "DefaultActor.png", False)) for item in items: li = xbmcgui.ListItem( item[0], path=item[1], iconImage=item[2] ) li.setProperty('IsPlayable', 'false') li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"}) li.addContextMenuItems([], True) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item[1], listitem=li, isFolder=item[3]) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle) self.refresh_connected_device()
Example #24
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def switch_user_multi(self): '''switch the currently logged in user''' usernames = [] count = 1 while True: username = self.addon.getSetting("username%s" % count).decode("utf-8") count += 1 if not username: break else: display_name = "" try: display_name = self.sp.user(username)["display_name"] except Exception: pass if not display_name: display_name = username usernames.append(display_name) dialog = xbmcgui.Dialog() ret = dialog.select(self.addon.getLocalizedString(11048), usernames) del dialog if ret != -1: ret += 1 new_user = self.addon.getSetting("username%s" % ret) new_pass = self.addon.getSetting("password%s" % ret) self.addon.setSetting("username", new_user) self.addon.setSetting("password", new_pass) xbmcvfs.delete("special://profile/addon_data/%s/credentials.json" % ADDON_ID) self.win.setProperty("spotify-cmd", "__LOGOUT__") self.win.clearProperty("spotify-token") self.win.clearProperty("spotify-username") self.win.clearProperty("spotify-country") xbmc.executebuiltin("Container.Refresh")
Example #25
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def logoff_user(self): ''' logoff user ''' dialog = xbmcgui.Dialog() if dialog.yesno(self.addon.getLocalizedString(11066), self.addon.getLocalizedString(11067)): xbmcvfs.delete("special://profile/addon_data/%s/credentials.json" % ADDON_ID) xbmcvfs.delete("special://profile/addon_data/%s/spotipy.cache" % ADDON_ID) self.win.clearProperty("spotify-token") self.win.clearProperty("spotify-username") self.win.clearProperty("spotify-country") self.addon.setSetting("username", "") self.addon.setSetting("password", "") self.win.setProperty("spotify-cmd", "__LOGOUT__") xbmc.executebuiltin("Container.Refresh") del dialog
Example #26
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 5 votes |
def refresh_connected_device(self): '''set reconnect flag for main_loop''' if self.addon.getSetting("playback_device") == "connect": self.win.setProperty("spotify-cmd", "__RECONNECT__")
Example #27
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 4 votes |
def add_track_listitems(self, tracks, append_artist_to_label=False): list_items = [] for count, track in enumerate(tracks): if append_artist_to_label: label = "%s - %s" % (track["artist"], track['name']) else: label = track['name'] duration = track["duration_ms"] / 1000 if KODI_VERSION > 17: li = xbmcgui.ListItem(label, offscreen=True) else: li = xbmcgui.ListItem(label) if self.local_playback and self.connect_id: # local playback by using proxy on a remote machine url = "http://%s:%s/track/%s/%s" % (self.connect_id, PROXY_PORT, track['id'], duration) li.setProperty("isPlayable", "true") elif self.local_playback: # local playback by using proxy on this machine url = "http://localhost:%s/track/%s/%s" % (PROXY_PORT, track['id'], duration) li.setProperty("isPlayable", "true") else: # connect controlled playback li.setProperty("isPlayable", "false") if self.playlistid: url = "plugin://plugin.audio.spotify/?action=connect_playback&trackid=%s&playlistid=%s&ownerid=%s&offset=%s" % ( track['id'], self.playlistid, self.ownerid, count) elif self.albumid: url = "plugin://plugin.audio.spotify/?action=connect_playback&trackid=%s&albumid=%s&offset=%s" % (track[ 'id'], self.albumid, count) else: url = "plugin://plugin.audio.spotify/?action=connect_playback&trackid=%s" % (track['id']) if self.append_artist_to_title: title = label else: title = track['name'] li.setInfo('music', { "title": title, "genre": track["genre"], "year": track["year"], "tracknumber": track["track_number"], "album": track['album']["name"], "artist": track["artist"], "rating": track["rating"], "duration": duration }) li.setArt({"thumb": track['thumb']}) li.setProperty("spotifytrackid", track['id']) li.setContentLookup(False) li.addContextMenuItems(track["contextitems"], True) li.setProperty('do_not_analyze', 'true') li.setMimeType("audio/wave") list_items.append((url, li, False)) xbmcplugin.addDirectoryItems(self.addon_handle, list_items, totalItems=len(list_items))
Example #28
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 4 votes |
def browse_main_library(self): # library nodes xbmcplugin.setContent(self.addon_handle, "files") xbmcplugin.setProperty(self.addon_handle, 'FolderName', self.addon.getLocalizedString(11013)) items = [] items.append( (xbmc.getLocalizedString(136), "plugin://plugin.audio.spotify/?action=browse_playlists&ownerid=%s" % (self.userid), "DefaultMusicPlaylists.png")) items.append( (xbmc.getLocalizedString(132), "plugin://plugin.audio.spotify/?action=browse_savedalbums", "DefaultMusicAlbums.png")) items.append( (xbmc.getLocalizedString(134), "plugin://plugin.audio.spotify/?action=browse_savedtracks", "DefaultMusicSongs.png")) items.append( (xbmc.getLocalizedString(133), "plugin://plugin.audio.spotify/?action=browse_savedartists", "DefaultMusicArtists.png")) items.append( (self.addon.getLocalizedString(11023), "plugin://plugin.audio.spotify/?action=browse_topartists", "DefaultMusicArtists.png")) items.append( (self.addon.getLocalizedString(11024), "plugin://plugin.audio.spotify/?action=browse_toptracks", "DefaultMusicSongs.png")) for item in items: li = xbmcgui.ListItem( item[0], path=item[1], iconImage=item[2] ) li.setProperty('do_not_analyze', 'true') li.setProperty('IsPlayable', 'false') li.setArt({"fanart": "special://home/addons/plugin.audio.spotify/fanart.jpg"}) li.addContextMenuItems([], True) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item[1], listitem=li, isFolder=True) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle)
Example #29
Source File: plugin_content.py From plugin.audio.spotify with GNU General Public License v3.0 | 4 votes |
def search(self): xbmcplugin.setContent(self.addon_handle, "files") xbmcplugin.setPluginCategory(self.addon_handle, xbmc.getLocalizedString(283)) kb = xbmc.Keyboard('', xbmc.getLocalizedString(16017)) kb.doModal() if kb.isConfirmed(): value = kb.getText() items = [] result = self.sp.search( q="%s" % value, type='artist,album,track,playlist', limit=1, market=self.usercountry) items.append( ("%s (%s)" % (xbmc.getLocalizedString(133), result["artists"]["total"]), "plugin://plugin.audio.spotify/?action=search_artists&artistid=%s" % (value))) items.append( ("%s (%s)" % (xbmc.getLocalizedString(136), result["playlists"]["total"]), "plugin://plugin.audio.spotify/?action=search_playlists&playlistid=%s" % (value))) items.append( ("%s (%s)" % (xbmc.getLocalizedString(132), result["albums"]["total"]), "plugin://plugin.audio.spotify/?action=search_albums&albumid=%s" % (value))) items.append( ("%s (%s)" % (xbmc.getLocalizedString(134), result["tracks"]["total"]), "plugin://plugin.audio.spotify/?action=search_tracks&trackid=%s" % (value))) for item in items: li = xbmcgui.ListItem( item[0], path=item[1], iconImage="DefaultMusicAlbums.png" ) li.setProperty('do_not_analyze', 'true') li.setProperty('IsPlayable', 'false') li.addContextMenuItems([], True) xbmcplugin.addDirectoryItem(handle=self.addon_handle, url=item[1], listitem=li, isFolder=True) xbmcplugin.endOfDirectory(handle=self.addon_handle)
Example #30
Source File: kodiutils.py From plugin.video.vrt.nu with GNU General Public License v3.0 | 4 votes |
def play(stream, video=None): """Create a virtual directory listing to play its only item""" try: # Python 3 from urllib.parse import unquote except ImportError: # Python 2 from urllib2 import unquote from xbmcgui import ListItem from addon import plugin play_item = ListItem(path=stream.stream_url) if video and hasattr(video, 'info_dict'): play_item.setProperty('subtitle', video.label) play_item.setArt(video.art_dict) play_item.setInfo( type='video', infoLabels=video.info_dict ) play_item.setProperty('inputstream.adaptive.max_bandwidth', str(get_max_bandwidth() * 1000)) play_item.setProperty('network.bandwidth', str(get_max_bandwidth() * 1000)) if stream.stream_url is not None and stream.use_inputstream_adaptive: if kodi_version_major() < 19: play_item.setProperty('inputstreamaddon', 'inputstream.adaptive') else: play_item.setProperty('inputstream', 'inputstream.adaptive') play_item.setProperty('inputstream.adaptive.manifest_type', 'mpd') play_item.setContentLookup(False) play_item.setMimeType('application/dash+xml') if stream.license_key is not None: import inputstreamhelper is_helper = inputstreamhelper.Helper('mpd', drm='com.widevine.alpha') if is_helper.check_inputstream(): play_item.setProperty('inputstream.adaptive.license_type', 'com.widevine.alpha') play_item.setProperty('inputstream.adaptive.license_key', stream.license_key) subtitles_visible = get_setting_bool('showsubtitles', default=True) # Separate subtitle url for hls-streams if subtitles_visible and stream.subtitle_url is not None: log(2, 'Subtitle URL: {url}', url=unquote(stream.subtitle_url)) play_item.setSubtitles([stream.subtitle_url]) log(1, 'Play: {url}', url=unquote(stream.stream_url)) xbmcplugin.setResolvedUrl(plugin.handle, bool(stream.stream_url), listitem=play_item) while not xbmc.Player().isPlaying() and not xbmc.Monitor().abortRequested(): xbmc.sleep(100) xbmc.Player().showSubtitles(subtitles_visible)