def make_entries_list(url): utils.log('Making entries list') try: params = utils.get_url(url) programs = comm.get_entries(params['entries_url']) ok = True for p in sorted(programs): listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=p.get_thumbnail(), thumbnailImage=p.get_thumbnail()) listitem.setInfo('video', p.get_xbmc_list_item()) if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_xbmc_audio_stream_info()) listitem.addStreamInfo('video', p.get_xbmc_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs)) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except: utils.handle_error('Unable to fetch program list')
def make_entries_list(url): utils.log('Making entries list') try: params = utils.get_url(url) programs = comm.get_entries(params['entries_url']) ok = True for p in sorted(programs): listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=p.get_thumbnail(), thumbnailImage=p.get_thumbnail()) listitem.setInfo('video', p.get_kodi_list_item()) listitem.setProperty('IsPlayable', 'true') if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_kodi_audio_stream_info()) listitem.addStreamInfo('video', p.get_kodi_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs)) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except Exception: utils.handle_error('Unable to fetch program list')
def make_entries_list(url): utils.log('Making entries list') try: params = utils.get_url(url) programs = comm.get_entries(params['feed_url']) ok = True for p in sorted(programs): listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=p.get_thumbnail(), thumbnailImage=p.get_thumbnail()) if type(p) is classes.Program: listitem.setInfo('video', p.get_kodi_list_item()) listitem.setProperty('IsPlayable', 'true') #if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_kodi_audio_stream_info()) listitem.addStreamInfo('video', p.get_kodi_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) else: url = "%s?%s" % (sys.argv[0], utils.make_url({ 'feed_url': p.feed_url})) # Add the program item to the list isFolder = type(p) is classes.Series ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=isFolder, totalItems=len(programs)) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except Exception: utils.handle_error('Unable to fetch program list')
def make_category_list(url): utils.log("Making category list") try: params = utils.get_url(url) categories = comm.get_category(params['category']) ok = True if 'children' in categories: for c in categories.get('children', []): if 'children' in c: url = "%s?%s" % (sys.argv[0], utils.make_url({ 'category': params['category'], 'section': c['name']})) elif 'url' in c: url = "%s?%s" % (sys.argv[0], utils.make_url({ 'entries_url': c['url']})) else: continue # If no thumbnail, make it an empty string as None makes # XBMC v12 with a TypeError must be unicode or str thumbnail = c.get('thumbnail', '') listitem = xbmcgui.ListItem(label=c['name'], thumbnailImage=thumbnail) ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=True) else: # 'Coming soon' has no children jsonurl = categories['url'] programs = comm.get_entries(jsonurl) for p in sorted(programs): thumbnail = p.get_thumbnail() listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=thumbnail, thumbnailImage=thumbnail) listitem.setInfo('video', p.get_kodi_list_item()) if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_kodi_audio_stream_info()) listitem.addStreamInfo('video', p.get_kodi_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs)) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except Exception: utils.handle_error('Unable to build categories list')
def make_category_list(url): utils.log("Making category list") try: params = utils.get_url(url) categories = comm.get_category(params['category']) ok = True if 'children' in categories: for c in categories.get('children', []): if 'children' in c: url = "%s?%s" % (sys.argv[0], utils.make_url({ 'category': params['category'], 'section': c['name']})) elif 'url' in c: url = "%s?%s" % (sys.argv[0], utils.make_url({ 'entries_url': c['url']})) else: #utils.log("Skip category due to no entries or url: '%s'" % c['name']) continue # If no thumbnail, make it an empty string as None makes # XBMC v12 with a TypeError must be unicode or str thumbnail = c.get('thumbnail', '') listitem = xbmcgui.ListItem(label=c['name'], thumbnailImage=thumbnail) ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=True) else: # 'Coming soon' has no children jsonurl = categories['url'] programs = comm.get_entries(jsonurl) for p in sorted(programs): thumbnail = p.get_thumbnail() listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=thumbnail, thumbnailImage=thumbnail) listitem.setInfo('video', p.get_xbmc_list_item()) if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_xbmc_audio_stream_info()) listitem.addStreamInfo('video', p.get_xbmc_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs)) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except: utils.handle_error()
def make_category_list(url): utils.log("Making category list") try: params = utils.get_url(url) categories = comm.get_category(params["category"]) ok = True if "children" in categories: for c in categories.get("children", []): if "children" in c: url = "%s?%s" % ( sys.argv[0], utils.make_url({"category": params["category"], "section": c["name"]}), ) elif "url" in c: url = "%s?%s" % (sys.argv[0], utils.make_url({"entries_url": c["url"]})) else: # utils.log("Skip category due to no entries or url: '%s'" % c['name']) continue thumbnail = c.get("thumbnail", None) listitem = xbmcgui.ListItem(label=c["name"], iconImage=thumbnail, thumbnailImage=thumbnail) ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=True) else: # 'Coming soon' has no children jsonurl = categories["url"] programs = comm.get_entries(jsonurl) for p in sorted(programs): thumbnail = p.get_thumbnail() listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=thumbnail, thumbnailImage=thumbnail) listitem.setInfo("video", p.get_xbmc_list_item()) if hasattr(listitem, "addStreamInfo"): listitem.addStreamInfo("audio", p.get_xbmc_audio_stream_info()) listitem.addStreamInfo("video", p.get_xbmc_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem( handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs) ) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content="episodes") except: utils.handle_error()
def make_section_list(url): utils.log("Making section list") try: params = utils.get_url(url) section = comm.get_section(params['category'], params['section']) ok = True if 'children' in section and len(section['children']) > 0: for s in section['children']: entries_url = s.get('url') if entries_url: url = "%s?%s" % ( sys.argv[0], utils.make_url({'entries_url': entries_url})) thumbnail = s.get('thumbnail') listitem = xbmcgui.ListItem(s.get('name'), iconImage=thumbnail, thumbnailImage=thumbnail) listitem.setInfo('video', {'title': s.get('name'), 'genre': s.get('genre'), 'plot': s.get('description'), 'plotoutline': s.get('description')}) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=True) elif 'url' in section: # no children, so fetch children by URL programs = comm.get_entries(section['url']) for p in sorted(programs): thumbnail = p.get_thumbnail() listitem = xbmcgui.ListItem(label=p.get_list_title(), iconImage=thumbnail, thumbnailImage=thumbnail) listitem.setInfo('video', p.get_kodi_list_item()) if hasattr(listitem, 'addStreamInfo'): listitem.addStreamInfo('audio', p.get_kodi_audio_stream_info()) listitem.addStreamInfo('video', p.get_kodi_video_stream_info()) # Build the URL for the program, including the list_info url = "%s?play=true&%s" % (sys.argv[0], p.make_xbmc_url()) # Add the program item to the list ok = xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url=url, listitem=listitem, isFolder=False, totalItems=len(programs)) else: utils.log("No children or url found for %s" % section) xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=ok) xbmcplugin.setContent(handle=int(sys.argv[1]), content='episodes') except Exception: utils.handle_error('Unable to build section list')