我们从Python开源项目中,提取了以下22个代码示例,用于说明如何使用xbmcplugin.SORT_METHOD_UNSORTED。
def browse_topartists(self): xbmcplugin.setContent(self.addon_handle, "artists") result = self.sp.current_user_top_artists(limit=20, offset=0) cachestr = "spotify.topartists.%s" % self.userid checksum = self.cache_checksum(result["total"]) items = self.cache.get(cachestr, checksum=checksum) if not items: count = len(result["items"]) while result["total"] > count: result["items"] += self.sp.current_user_top_artists(limit=20, offset=count)["items"] count += 50 items = self.prepare_artist_listitems(result["items"]) self.cache.set(cachestr, items, checksum=checksum) self.add_artist_listitems(items) 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)
def browse_toptracks(self): xbmcplugin.setContent(self.addon_handle, "songs") results = self.sp.current_user_top_tracks(limit=20, offset=0) cachestr = "spotify.toptracks.%s" % self.userid checksum = self.cache_checksum(results["total"]) items = self.cache.get(cachestr, checksum=checksum) if not items: items = results["items"] while results["next"]: results = self.sp.next(results) items.extend(results["items"]) items = self.prepare_track_listitems(tracks=items) self.cache.set(cachestr, items, checksum=checksum) self.add_track_listitems(items, 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)
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)
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)
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)
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)) if self.addon.getSetting("multi_account") == "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)
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)
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)
def browse_playlist(self): xbmcplugin.setContent(self.addon_handle, "songs") playlistdetails = self.get_playlist_details(self.ownerid, self.playlistid) xbmcplugin.setProperty(self.addon_handle, 'FolderName', playlistdetails["name"]) self.add_track_listitems(playlistdetails["tracks"]["items"], 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)
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)
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)
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)
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)
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)
def build_search_result_folder(self, build_url, term): """Add search result folder Parameters ---------- build_url : :obj:`fn` Function to build the subsequent routes term : :obj:`str` Search term Returns ------- :obj:`str` Search result folder URL """ # add search result as subfolder li_rec = xbmcgui.ListItem( label='({})'.format(term), iconImage=self.default_fanart) li_rec.setProperty('fanart_image', self.default_fanart) url_rec = build_url({'action': 'search_result', 'term': term}) xbmcplugin.addDirectoryItem( handle=self.plugin_handle, url=url_rec, listitem=li_rec, isFolder=True) xbmcplugin.addSortMethod( handle=self.plugin_handle, sortMethod=xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(self.plugin_handle) self.set_custom_view(VIEW_FOLDER) return url_rec
def parse_listas(item, patron): logger.info() # Descarga la pagina headers = {"X-Requested-With": "XMLHttpRequest"} data = httptools.downloadpage(item.url, headers=headers).data logger.debug("data="+data) # Extrae las entradas (carpetas) json_object = jsontools.load_json(data) logger.debug("html="+json_object["html"]) data = json_object["html"] matches = re.compile(patron,re.DOTALL).findall(data) itemlist = [] for scrapedurl,scrapedtitle,scrapeduser,scrapedfichas in matches: title = scrapertools.htmlclean(scrapedtitle + ' (' + scrapedfichas + ' fichas, por ' + scrapeduser + ')') url = urlparse.urljoin(item.url,scrapedurl) + "/offset/0/loadmedia" thumbnail = "" itemlist.append( Item(channel=item.channel, action="lista" , title=title , url=url)) logger.debug("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"]") nextpage = scrapertools.find_single_match(data,'data-url="(/lists/loadlists/offset/[^"]+)"') if nextpage != '': url = urlparse.urljoin(item.url,nextpage) itemlist.append( Item(channel=item.channel, action="listas_sigues" , title=">> Página siguiente" , extra=item.extra, url=url)) try: import xbmcplugin xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_VIDEO_TITLE) except: pass return itemlist
def browse_playback_devices(self): '''set the active playback device''' xbmcplugin.setContent(self.addon_handle, "files") items = [] if self.win.getProperty("spotify.supportsplayback"): # local playback label = self.addon.getLocalizedString(11037) if self.local_playback: label += " [%s]" % self.addon.getLocalizedString(11040) url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=local" li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png") 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=url, listitem=li, isFolder=False) else: # local playback using a remote service label = self.addon.getLocalizedString(11060) if self.addon.getSetting("playback_device") == "remote": label += " [%s]" % self.addon.getLocalizedString(11040) url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=remote" li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png") 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=url, listitem=li, isFolder=False) # connect devices for device in self.sp.devices()["devices"]: label = "Spotify Connect: %s" % device["name"] if device["is_active"] and self.addon.getSetting("playback_device") == "connect": label += " [%s]" % self.addon.getLocalizedString(11040) url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=%s" % device["id"] li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png") 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=url, listitem=li, isFolder=False) if xbmc.getCondVisibility("System.HasAddon(plugin.audio.squeezebox)"): # LMS playback label = xbmc.getInfoLabel("System.AddonTitle(plugin.audio.squeezebox)") if self.addon.getSetting("playback_device") == "squeezebox": label += " [%s]" % self.addon.getLocalizedString(11040) url = "plugin://plugin.audio.spotify/?action=set_playback_device&deviceid=squeezebox" li = xbmcgui.ListItem(label, iconImage="DefaultMusicCompilations.png") 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=url, listitem=li, isFolder=False) xbmcplugin.addSortMethod(self.addon_handle, xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.endOfDirectory(handle=self.addon_handle)
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)
def setView(content, viewType): ''' Why recode whats allready written and works well, Thanks go to Eldrado for it ''' if content: xbmcplugin.setContent(int(sys.argv[1]), content) if ADDON.getSetting('auto-view') == 'true': print ADDON.getSetting(viewType) if ADDON.getSetting(viewType) == 'Info': VT = '504' elif ADDON.getSetting(viewType) == 'Info2': VT = '503' elif ADDON.getSetting(viewType) == 'Info3': VT = '515' elif ADDON.getSetting(viewType) == 'Fanart': VT = '508' elif ADDON.getSetting(viewType) == 'Poster Wrap': VT = '501' elif ADDON.getSetting(viewType) == 'Big List': VT = '51' elif ADDON.getSetting(viewType) == 'Low List': VT = '724' elif ADDON.getSetting(viewType) == 'List': VT = '50' elif ADDON.getSetting(viewType) == 'Default Menu View': VT = ADDON.getSetting('default-view1') elif ADDON.getSetting(viewType) == 'Default TV Shows View': VT = ADDON.getSetting('default-view2') elif ADDON.getSetting(viewType) == 'Default Episodes View': VT = ADDON.getSetting('default-view3') elif ADDON.getSetting(viewType) == 'Default Movies View': VT = ADDON.getSetting('default-view4') elif ADDON.getSetting(viewType) == 'Default Docs View': VT = ADDON.getSetting('default-view5') elif ADDON.getSetting(viewType) == 'Default Cartoons View': VT = ADDON.getSetting('default-view6') elif ADDON.getSetting(viewType) == 'Default Anime View': VT = ADDON.getSetting('default-view7') xbmc.executebuiltin("Container.SetViewMode(%s)" % ( int(VT) ) ) xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_UNSORTED ) xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_TITLE ) xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_VIDEO_TITLE )
def parse_mixed_results(item,data): patron = '<a class="defaultLink extended" href="([^"]+)"[^<]+' patron += '<div class="coverMini shadow tiptip" title="([^"]+)"[^<]+' patron += '<img class="centeredPic.*?src="([^"]+)"' patron += '[^<]+<img[^<]+<div class="extra-info">' patron += '<span class="year">([^<]+)</span>' patron += '<span class="value"><i class="icon-star"></i>([^<]+)</span>' matches = re.compile(patron,re.DOTALL).findall(data) itemlist = [] for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedyear,scrapedvalue in matches: title = scrapertools.htmlclean(scrapedtitle) if scrapedyear != '': title += " ("+scrapedyear+")" fulltitle = title if scrapedvalue != '': title += " ("+scrapedvalue+")" thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) fanart = thumbnail.replace("mediathumb","mediabigcover") plot = "" #http://www.pordede.com/peli/the-lego-movie #http://www.pordede.com/links/view/slug/the-lego-movie/what/peli?popup=1 if "/peli/" in scrapedurl or "/docu/" in scrapedurl: #sectionStr = "peli" if "/peli/" in scrapedurl else "docu" if "/peli/" in scrapedurl: sectionStr = "peli" else: sectionStr = "docu" referer = urlparse.urljoin(item.url,scrapedurl) url = referer.replace("/{0}/".format(sectionStr),"/links/view/slug/")+"/what/{0}".format(sectionStr) logger.debug("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"]") itemlist.append( Item(channel=item.channel, action="findvideos" , title=title , extra=referer, url=url, thumbnail=thumbnail, plot=plot, fulltitle=fulltitle, fanart=fanart, contentTitle=scrapedtitle, contentType="movie", context=["buscar_trailer"])) else: referer = item.url url = urlparse.urljoin(item.url,scrapedurl) itemlist.append( Item(channel=item.channel, action="episodios" , title=title , extra=referer, url=url, thumbnail=thumbnail, plot=plot, fulltitle=fulltitle, show=title, fanart=fanart, contentTitle=scrapedtitle, contentType="tvshow", context=["buscar_trailer"])) next_page = scrapertools.find_single_match(data, '<div class="loadingBar" data-url="([^"]+)"') if next_page != "": url = urlparse.urljoin("http://www.pordede.com", next_page) itemlist.append( Item(channel=item.channel, action="lista", title=">> Página siguiente", extra=item.extra, url=url)) try: import xbmcplugin xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_VIDEO_TITLE) except: pass return itemlist
def parse_listas(item, bloque_lista): logger.info() if item.tipo == "populares": patron = '<div class="lista(.*?)</div>\s*</h4>' else: patron = '<div class="lista(.*?)</h4>\s*</div>' matches = re.compile(patron,re.DOTALL).findall(bloque_lista) itemlist = [] for lista in matches: scrapedurl = scrapertools.htmlclean(scrapertools.find_single_match(lista,'<a href="([^"]+)">[^<]+</a>')) scrapedtitle = scrapertools.find_single_match(lista, '<a href="[^"]+">([^<]+)</a>') scrapedfollowers = scrapertools.find_single_match(lista, 'Follow: <span class="number">([^<]+)') scrapedseries = scrapertools.find_single_match(lista, '<div class="lista-stat badge">Series: ([^<]+)') scrapedpelis = scrapertools.find_single_match(lista, '<div class="lista-stat badge">Pelis: ([^<]+)') title = scrapertools.htmlclean(scrapedtitle) + ' (' if scrapedpelis != '': title += scrapedpelis + ' pelis, ' if scrapedseries != '': title += scrapedseries + ' series, ' if scrapedfollowers != '': title += scrapedfollowers+' seguidores' title += ')' url = urlparse.urljoin("https://www.plusdede.com",scrapedurl) thumbnail = "" itemlist.append( Item(channel=item.channel, action="peliculas" , token=item.token, tipo="lista", title=title , url=url)) logger.debug("title=["+title+"], url=["+url+"], thumbnail=["+thumbnail+"], tipo =[lista]") nextpage = scrapertools.find_single_match(bloque_lista,'<div class="onclick load-more-icon no-json" data-action="replace" data-url="([^"]+)"') if nextpage != '': url = urlparse.urljoin("https://www.plusdede.com",nextpage) itemlist.append( Item(channel=item.channel, action="lista_sig", tipo=item.tipo , title=">> Página siguiente" , extra=item.extra, url=url)) try: import xbmcplugin xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_VIDEO_TITLE) except: pass return itemlist
def parse_listas(item, bloque_lista): logger.info() if item.tipo == "populares": patron = '<div class="lista(.*?)</div>\s*</h4>' else: patron = '<div class="lista(.*?)</h4>\s*</div>' matches = re.compile(patron, re.DOTALL).findall(bloque_lista) itemlist = [] for lista in matches: scrapedurl = scrapertools.htmlclean(scrapertools.find_single_match(lista, '<a href="([^"]+)">[^<]+</a>')) scrapedtitle = scrapertools.find_single_match(lista, '<a href="[^"]+">([^<]+)</a>') scrapedfollowers = scrapertools.find_single_match(lista, 'Follow: <span class="number">([^<]+)') scrapedseries = scrapertools.find_single_match(lista, '<div class="lista-stat badge">Series: ([^<]+)') scrapedpelis = scrapertools.find_single_match(lista, '<div class="lista-stat badge">Pelis: ([^<]+)') title = scrapertools.htmlclean(scrapedtitle) + ' (' if scrapedpelis != '': title += scrapedpelis + ' pelis, ' if scrapedseries != '': title += scrapedseries + ' series, ' if scrapedfollowers != '': title += scrapedfollowers + ' seguidores' title += ')' url = urlparse.urljoin("https://www.plusdede.com", scrapedurl) thumbnail = "" itemlist.append( Item(channel=item.channel, action="peliculas", token=item.token, tipo="lista", title=title, url=url)) nextpage = scrapertools.find_single_match(bloque_lista, '<div class="onclick load-more-icon no-json" data-action="replace" data-url="([^"]+)"') if nextpage != '': url = urlparse.urljoin("https://www.plusdede.com", nextpage) itemlist.append(Item(channel=item.channel, action="lista_sig", token=item.token, tipo=item.tipo, title=">> Página siguiente", extra=item.extra, url=url)) try: import xbmcplugin xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_UNSORTED) xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORT_METHOD_VIDEO_TITLE) except: pass return itemlist