def season(name, url, thumb, series_name, series_id): entries = [] cover_file, fanart_file = generic_utility.cover_fanart(series_id) u = sys.argv[0] u += '?url=' + urllib.quote_plus(unicode(url)) u += '&mode=list_episodes' u += '&series_id=' + urllib.quote_plus(series_id) list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={'title': name}) if xbmcvfs.exists(fanart_file): list_item.setProperty('fanart_image', fanart_file) elif xbmcvfs.exists(cover_file): list_item.setProperty('fanart_image', cover_file) else: list_item.setProperty('fanart_image', generic_utility.addon_fanart()) entries.append(( generic_utility.get_string(30150), 'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)' % (generic_utility.addon_id, urllib.quote_plus(unicode(url)), urllib.quote_plus(generic_utility.encode( series_name.strip())), series_id))) list_item.addContextMenuItems(entries) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True) return directory_item
def episodes_data(season, series_id): episodes = [] content = series_info(series_id) content = json.loads(content)['video']['seasons'] for test in content: episode_season = unicode(test['seq']) if episode_season == season: for item in test['episodes']: playcount = 0 episode_id = item['episodeId'] episode_nr = item['seq'] episode_title = (unicode(episode_nr) + '. ' + item['title']) duration = item['runtime'] offset = item['bookmark']['offset'] if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item['synopsis'] try: thumb = item['stills'][0]['url'] except: thumb = generic_utility.addon_fanart() # generic_utility.log('episode-title: '+episode_title) episode = series_id, episode_id, episode_title, description, episode_nr, season, duration, thumb, playcount episodes.append(episode) return episodes
def episode(episode): series_id, episode_id, name, description, episode_nr, season_nr, duration, thumb, playcount = episode cover_file, fanart_file = generic_utility.cover_fanart(series_id) u = sys.argv[0] u += '?url=' + urllib.quote_plus(unicode(episode_id)) u += '&mode=play_video_main' u += '&series_id=' + urllib.quote_plus(series_id) list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={ 'title': name, 'plot': description, 'duration': duration, 'season': season_nr, 'episode': episode_nr, 'playcount': playcount }) if xbmcvfs.exists(fanart_file): list_item.setProperty('fanart_image', fanart_file) elif xbmcvfs.exists(cover_file): list_item.setProperty('fanart_image', cover_file) else: list_item.setProperty('fanart_image', generic_utility.addon_fanart()) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=False) return directory_item
def directory(name, url, mode, thumb, type='', context_enable=True, login_context = False): entries = [] name = generic_utility.unescape(name) u = sys.argv[0] u += '?url=' + urllib.quote_plus(url) u += '&mode=' + mode u += '&thumb=' + urllib.quote_plus(thumb) u += '&type=' + type list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={'title': name}) if "/my-list" in url: entries.append( (generic_utility.get_string(30150), 'RunPlugin(plugin://%s/?mode=add_my_list_to_library)' % generic_utility.addon_id)) list_item.setProperty('fanart_image', generic_utility.addon_fanart()) if context_enable: if login_context == True: entries.append(('Relogin', 'RunPlugin(plugin://%s/?mode=relogin)' % ( generic_utility.addon_id))) list_item.addContextMenuItems(entries) else: list_item.addContextMenuItems([], replaceItems=True) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True) return directory_item
def directory(name, url, mode, thumb, type='', context_enable=True, login_context=False): entries = [] name = generic_utility.unescape(name) u = sys.argv[0] u += '?url=' + urllib.quote_plus(url) u += '&mode=' + mode u += '&thumb=' + urllib.quote_plus(thumb) u += '&type=' + type list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={'title': name}) if "/my-list" in url: entries.append((generic_utility.get_string(30150), 'RunPlugin(plugin://%s/?mode=add_my_list_to_library)' % generic_utility.addon_id)) list_item.setProperty('fanart_image', generic_utility.addon_fanart()) if context_enable: if login_context == True: entries.append(('Relogin', 'RunPlugin(plugin://%s/?mode=relogin)' % (generic_utility.addon_id))) list_item.addContextMenuItems(entries) else: list_item.addContextMenuItems([], replaceItems=True) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True) return directory_item
def extract_thumb_url(match): try: thumb_url = match['boxarts']['_665x375']['jpg']['url'] except Exception: try: thumb_url = match['boxarts']['_342x192']['jpg']['url'] except Exception: thumb_url = generic_utility.addon_fanart() return thumb_url
def extract_thumb_url(match): try: thumb_url = match['boxarts']['_665x375']['jpg']['url'] except Exception: try: thumb_url = match['boxarts']['_342x192']['jpg']['url'] except Exception: thumb_url = generic_utility.addon_fanart() return thumb_url
def episodes_data(season, series_id): episodes = [] content = series_info(series_id) tvshow = json.loads(content)['video'] seasons = tvshow.get('seasons') tvshowyear = None if tvshow.get("boxart"): seriesthumb = tvshow.get("boxart")[0].get("url") else: seriesthumb = "" for item in seasons: episode_season = unicode(item['seq']) if not tvshowyear: tvshowyear = item.get("year") if episode_season == season: for item in item['episodes']: playcount = 0 episode_id = item['episodeId'] episode_nr = item['seq'] episode_title = item['title'] duration = item['runtime'] offset = item['bookmark']['offset'] if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item['synopsis'] try: thumb = item['stills'][0]['url'] except: thumb = generic_utility.addon_fanart() episode = { "series_id": series_id, "episode_id": episode_id, "episode_title": episode_title, "description": description, "episode_nr": int(episode_nr), "season": int(season), "duration": duration, "thumb": thumb, "seriesthumb": seriesthumb, "hd": item.get("hd", False), "playcount": playcount, "tvshowtitle": tvshow.get('title'), "tvshowyear": tvshowyear, "tvshowgenre": "Series" } episodes.append(episode) return episodes
def episodes_data(season, series_id): episodes = [] content = series_info(series_id) tvshow = json.loads(content)['video'] seasons = tvshow.get('seasons') tvshowyear = None if tvshow.get("boxart"): seriesthumb = tvshow.get("boxart")[0].get("url") else: seriesthumb = "" for item in seasons: episode_season = unicode(item['seq']) if not tvshowyear: tvshowyear = item.get("year") if episode_season == season: for item in item['episodes']: playcount = 0 episode_id = item['episodeId'] episode_nr = item['seq'] episode_title = item['title'] duration = item['runtime'] offset = item['bookmark']['offset'] if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item['synopsis'] try: thumb = item['stills'][0]['url'] except: thumb = generic_utility.addon_fanart() episode = { "series_id": series_id, "episode_id":episode_id, "episode_title":episode_title, "description":description, "episode_nr":int(episode_nr), "season":int(season), "duration":duration, "thumb":thumb, "seriesthumb":seriesthumb, "hd":item.get("hd",False), "playcount":playcount, "tvshowtitle":tvshow.get('title'), "tvshowyear": tvshowyear, "tvshowgenre": "Series" } episodes.append(episode) return episodes
def episode(episode): series_id, episode_id, name, description, episode_nr, season_nr, duration, thumb, playcount = episode cover_file, fanart_file = generic_utility.cover_fanart(series_id) u = sys.argv[0] u += '?url=' + urllib.quote_plus(unicode(episode_id)) u += '&mode=play_video_main' u += '&series_id=' + urllib.quote_plus(series_id) list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={'title': name, 'plot': description, 'duration': duration, 'season': season_nr, 'episode': episode_nr, 'playcount': playcount}) if xbmcvfs.exists(fanart_file): list_item.setProperty('fanart_image', fanart_file) elif xbmcvfs.exists(cover_file): list_item.setProperty('fanart_image', cover_file) else: list_item.setProperty('fanart_image', generic_utility.addon_fanart()) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=False) return directory_item
def episodes_data(season, series_id): episodes = [] content = series_info(series_id) content = json.loads(content)["video"]["seasons"] for test in content: episode_season = unicode(test["seq"]) if episode_season == season: for item in test["episodes"]: playcount = 0 episode_id = item["episodeId"] episode_nr = item["seq"] episode_title = unicode(episode_nr) + ". " + item["title"] duration = item["runtime"] offset = item["bookmark"]["offset"] if (duration > 0 and float(offset) / float(duration)) >= 0.9: playcount = 1 description = item["synopsis"] try: thumb = item["stills"][0]["url"] except: thumb = generic_utility.addon_fanart() # generic_utility.log('episode-title: '+episode_title) episode = ( series_id, episode_id, episode_title, description, episode_nr, season, duration, thumb, playcount, ) episodes.append(episode) return episodes
def season(name, url, thumb, series_name, series_id): entries = [] cover_file, fanart_file = generic_utility.cover_fanart(series_id) u = sys.argv[0] u += '?url=' + urllib.quote_plus(unicode(url)) u += '&mode=list_episodes' u += '&series_id=' + urllib.quote_plus(series_id) list_item = xbmcgui.ListItem(name) list_item.setArt({'icon': 'DefaultTVShows.png', 'thumb': thumb}) list_item.setInfo(type='video', infoLabels={'title': name}) if xbmcvfs.exists(fanart_file): list_item.setProperty('fanart_image', fanart_file) elif xbmcvfs.exists(cover_file): list_item.setProperty('fanart_image', cover_file) else: list_item.setProperty('fanart_image', generic_utility.addon_fanart()) entries.append((generic_utility.get_string(30150), 'RunPlugin(plugin://%s/?mode=add_series_to_library&url=%s&name=%s&series_id=%s)' % ( generic_utility.addon_id, urllib.quote_plus(unicode(url)), urllib.quote_plus(generic_utility.encode(series_name.strip())), series_id))) list_item.addContextMenuItems(entries) directory_item = xbmcplugin.addDirectoryItem(handle=plugin_handle, url=u, listitem=list_item, isFolder=True) return directory_item