def createListItem(title,banner,description,duration,date,channel,videourl,playable,folder, backdrop,pluginhandle,subtitles=None,blacklist=False): if description == '': description = Settings.localizedString(30008).encode("utf-8") liz=xbmcgui.ListItem(title, iconImage=banner, thumbnailImage=banner) liz.setInfo( type="Video", infoLabels={ "Title": title } ) liz.setInfo( type="Video", infoLabels={ "Tvshowtitle": title } ) liz.setInfo( type="Video", infoLabels={ "Sorttitle": title } ) liz.setInfo( type="Video", infoLabels={ "Plot": description } ) liz.setInfo( type="Video", infoLabels={ "Plotoutline": description } ) liz.setInfo( type="Video", infoLabels={ "Aired": date } ) liz.setInfo( type="Video", infoLabels={ "Studio": channel } ) liz.setProperty('fanart_image',backdrop) liz.setProperty('IsPlayable', str(playable)) if not folder: videoStreamInfo = {'codec': 'h264', 'aspect': 1.78} try: videoStreamInfo.update({'duration': int(duration)}) except: pass if videourl.lower().endswith('_q8c.mp4') or '_q8c' in videourl.lower(): videoStreamInfo.update({'width': 1280, 'height': 720}) elif videourl.lower().endswith('_q6a.mp4') or '_q6a' in videourl.lower(): videoStreamInfo.update({'width': 960, 'height': 540}) elif videourl.lower().endswith('_q4a.mp4') or '_q4a' in videourl.lower(): videoStreamInfo.update({'width': 640, 'height': 360}) else: videoStreamInfo.update({'width': 320, 'height': 180}) liz.addStreamInfo('video', videoStreamInfo) liz.addStreamInfo('audio', {"codec": "aac", "language": "de", "channels": 2}) if subtitles != None and Settings.subtitles(): if len(subtitles) > 0 and subtitles[0].endswith('.srt'): subtitles.pop(0) liz.addStreamInfo('subtitle', {"language": "de"}) liz.setSubtitles(subtitles) if blacklist: match = re.search(r'( - \w\w, \d\d.\d\d.\d\d\d\d)',title) if match != None: bltitle = title.split(" - ") bltitle = bltitle[0].split(": ") bl_title = bltitle[0].replace("+"," ").strip() else: bl_title = title.replace("+"," ").strip() blparameters = {"mode" : "blacklistShow", "title": bl_title} blurl = sys.argv[0] + '?' + urllib.urlencode(blparameters) commands = [] commands.append(('%s %s %s' % (Settings.localizedString(30038).encode("utf-8"), bl_title, Settings.localizedString(30042).encode("utf-8")), 'XBMC.RunPlugin(%s)' % blurl)) liz.addContextMenuItems( commands ) if not checkBlacklist(bl_title): xbmcplugin.addDirectoryItem(pluginhandle, url=videourl, listitem=liz, isFolder=folder) return liz else: xbmcplugin.addDirectoryItem(pluginhandle, url=videourl, listitem=liz, isFolder=folder) return liz