def addDirectoryItem(name, action, thumb, image, fanart, url='0'): if thumb == '0': thumb = image u = '%s?action=%s&url=%s&image=%s&fanart=%s' % (sys.argv[0], str(action), urllib.quote_plus(url), urllib.quote_plus(thumb), urllib.quote_plus(fanart)) item = control.item(name, iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=True)
def listBollywood(self, url, page): try: html = client.request(url + 'page/' + str(page)) except: pass syshandle = int(sys.argv[1]) result = client.parseDOM(html, 'article', attrs={'id': 'posts'}) result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'img', ret='src'), client.parseDOM(i, 'a')) for i in result] result = [(i[0][0], i[1][0], i[2][1]) for i in result if len(i[0]) > 0 and len(i[1]) > 0 and len(i[2][1]) > 0] for movie in result: uri = movie[0] image = movie[1] name = movie[2] action = 'resolveBollywoodUrl' query = '%s?action=%s&name=%s&url=%s&image=%s' % (sysaddon, action, name, uri, image) item = control.item(name, iconImage=image, thumbnailImage=image) item.setInfo(type="Video", infoLabels={"Title": name, "OriginalTitle": name}) control.addItem(handle=int(sys.argv[1]), url=query, listitem=item, isFolder=True) pageNum = int(page)+1 query = '%s?action=%s&url=%s&page=%s' % (sysaddon, 'listBollywood', url, pageNum) item = control.item('Next page', iconImage='', thumbnailImage='') item.setInfo(type="Video", infoLabels={"Title": 'Page ' + str(page), "OriginalTitle": 'Page ' + str(page)}) control.addItem(handle=syshandle, url=query, listitem=item, isFolder=True) control.content(syshandle, 'movies') control.directory(syshandle, cacheToDisc=True) views.setView('movies', {'skin.estuary': 500, 'skin.confluence': 500})
def views(self): try: control.idle() items = [ (control.lang(32001).encode('utf-8'), 'movies'), (control.lang(32002).encode('utf-8'), 'tvshows'), (control.lang(32054).encode('utf-8'), 'seasons'), (control.lang(32038).encode('utf-8'), 'episodes') ] select = control.selectDialog([i[0] for i in items], control.lang(32049).encode('utf-8')) if select == -1: return content = items[select][1] title = control.lang(32059).encode('utf-8') url = '%s?action=addView&content=%s' % (sys.argv[0], content) poster, banner, fanart = control.addonPoster(), control.addonBanner(), control.addonFanart() item = control.item(label=title) item.setInfo(type='Video', infoLabels = {'title': title}) item.setArt({'icon': poster, 'thumb': poster, 'poster': poster, 'banner': banner}) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) control.content(int(sys.argv[1]), content) control.directory(int(sys.argv[1]), cacheToDisc=True) from resources.lib.modules import cache views.setView(content, {}) except: return
def addPlaylistItem(self, name, playlist_id, icon, fanart): work_url = "plugin://plugin.video.youtube/playlist/"+playlist_id+"/" liz=control.item(name) liz.setInfo( type="Video", infoLabels={ "Title": name }) liz.setArt({ 'thumb': icon, 'banner' : 'DefaultVideo.png', 'fanart': fanart }) # liz.setPath(work_url) control.addItem(handle=syshandle,url=work_url,listitem=liz,isFolder=True)
def addDirectoryItem(self, name, query, thumb, icon, queue=False, isAction=True, isFolder=True, imgPath = None): self.logger = logging.getLogger('funimationnow'); try: name = control.lang(name).encode('utf-8') if isinstance(name, (int, long)) else name; except: pass; url = '%s?action=%s' % (sysaddon, query) if isAction == True else query; artPath = control.artPath(imgPath); thumb = os.path.join(artPath, thumb) if not artPath == None else icon; cm = []; if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)); item = control.item(label=name); item.addContextMenuItems(cm); item.setArt({'icon': thumb, 'thumb': thumb}); if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart); control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder);
def addDirectory(self, items, queue=False): if items == None or len(items) == 0: return sysaddon = sys.argv[0] isPlayable = False if control.setting('autoplay') == 'false' and control.setting('hosts.mode') == '1' else True addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() for i in items: try: try: name = control.lang(i['name']).encode('utf-8') except: name = i['name'] if i['image'].startswith('http://'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] if queue == True and isPlayable == True: cm.append((control.lang(30202).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name, iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems(cm, replaceItems=False) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass control.directory(int(sys.argv[1]), cacheToDisc=True)
def addCategoryItem(name, action, image, isFolder=True): u = '%s?action=%s' % (sys.argv[0], str(action)) image = control.addonInfo('path') + '/resources/media/LwSLive/' + image item = control.item(name, iconImage=image, thumbnailImage=image) item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', control.addonInfo('fanart')) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=isFolder)
def add_last_visited(anime_id): try: c = cache.get(masterani.get_anime_details, 8, anime_id) lastEpisode = watched.Watched().watched(anime_id) plot = c['plot'] premiered = c['premiered'] genre = c['genre'] type = c['type'] sysaddon = sys.argv[0] addon_poster = addon_banner = control.addonInfo('icon') addon_fanart = control.addonInfo('fanart') item = control.item("Last Played: [I]%s[/I]" % (c['title'])) poster = "http://cdn.masterani.me/poster/%s" % c['poster'] fanart = "http://cdn.masterani.me/wallpaper/0/%s" % c['fanart'][0] item.setArt({'poster': poster}) item.setProperty("Fanart_Image", fanart) item.setInfo(type='Video', infoLabels={ 'Plot': plot, 'Year': premiered, 'premiered': premiered, 'genre': genre, 'mediatype': 'tvshow' }) url = '%s?action=get_episodes' % sysaddon try: url += '&anime_id=%s' % anime_id except: pass control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass
def addDirectory(self, items): if items == None or len(items) == 0: return sysaddon = sys.argv[0] addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() for i in items: try: try: name = control.lang(i['name']).encode('utf-8') except: name = i['name'] if i['image'].startswith('http://'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] item = control.item(label=name, iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems(cm, replaceItems=False) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass control.directory(int(sys.argv[1]), cacheToDisc=True)
def channelDirectory(self, items): if items == None or len(items) == 0: return playbackMenu = control.lang(30292).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30291).encode('utf-8') addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart = control.addonFanart() sysaddon = sys.argv[0] for i in items: try: label = '[B]%s[/B] : %s (%s)' % (i['channel'].upper(), i['title'], i['year']) sysname = urllib.quote_plus('%s (%s)' % (i['title'], i['year'])) systitle = urllib.quote_plus(i['title']) imdb, year = i['imdb'], i['year'] poster, banner = i['poster'], i['poster'] if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster meta = dict((k,v) for k, v in i.iteritems() if not v == '0') meta.update({'trailer': '%s?action=trailer&name=%s' % (sysaddon, sysname)}) if i['duration'] == '0': meta.update({'duration': '120'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=play&title=%s&year=%s&imdb=%s&meta=%s&t=%s' % (sysaddon, systitle, year, imdb, sysmeta, self.systime) sysurl = urllib.quote_plus(url) cm = [] cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta))) cm.append((control.lang(30297).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname))) cm.append((control.lang(30293).encode('utf-8'), 'Action(Info)')) cm.append((control.lang(30294).encode('utf-8'), 'RunPlugin(%s?action=refresh)' % (sysaddon))) cm.append((control.lang(30295).encode('utf-8'), 'RunPlugin(%s?action=openSettings)' % (sysaddon))) cm.append((control.lang(30296).encode('utf-8'), 'RunPlugin(%s?action=openPlaylist)' % (sysaddon))) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({'poster': poster, 'banner': banner}) except: pass if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') #item.setProperty('IsPlayable', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) except: pass control.content(int(sys.argv[1]), 'movies') #control.do_block_check(False) control.directory(int(sys.argv[1]), cacheToDisc=True)
def addCategoryItem(name, action, image, isFolder=True): u = '%s?action=%s' % (sys.argv[0], str(action)) item = control.item(name, iconImage=image, thumbnailImage=image) try: item.setArt({'icon': image}) except: pass item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', control.addonInfo('fanart')) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=isFolder)
def addCategoryItem(name, action, image, fanart, url='0'): u = '%s?action=%s&url=%s&image=%s&fanart=%s' % (sys.argv[0], str(action), urllib.quote_plus(url), urllib.quote_plus(image), urllib.quote_plus(fanart)) item = control.item(name, iconImage=image, thumbnailImage=image) try: item.setArt({'icon': image}) except: pass item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=True)
def addDir(self, name, info, u, action, image, isFolder=True): url = (sysaddon + "?url=" + urllib.quote_plus(u) + "&name=" + urllib.quote_plus(name.encode('utf-8')) + "&action=" + action + "&image=" + image) item = control.item(label=name.encode('utf-8')) item.setArt({'icon': image, 'thumb': image}) item.setInfo(type="Video", infoLabels={"Title": name.encode('utf-8'), "OriginalTitle": name.encode('utf-8'), "Plot": info}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def addVideoItem(self, name, video_id, icon, fanart): work_url = "plugin://plugin.video.youtube/play/?video_id="+video_id liz=control.item(name) liz.setInfo( type="Video", infoLabels={ "Title": name }) liz.setArt({ 'thumb': icon, 'banner' : 'DefaultVideo.png', 'fanart': fanart }) # liz.setPath(work_url) liz.setProperty('IsPlayable', 'true') control.addItem(handle=syshandle,url=work_url,listitem=liz,isFolder=True)
def addDirectoryItem(name, url, action, image, image2, fanart, content, data, tvshow='0', totalItems=0, isFolder=True): if not str(image).lower().startswith('http'): image = control.addonInfo('icon') if not str(image2).lower().startswith('http'): image2 = control.addonInfo('icon') if not str(fanart).lower().startswith('http'): fanart = control.addonInfo('fanart') if content in ['movies', 'episodes']: playable = 'true' else: playable = 'false' sysaddon = sys.argv[0] if url.startswith('$base64'): import base64 ; url = base64.b64decode(re.compile('\$base64\[(.+?)\]$').findall(url)[0]) u = '%s?name=%s&url=%s&tvdb=&imdb=&source=GVideo&provider=Mpie&content=%s&action=playItem' % (sysaddon, urllib.quote_plus(name), urllib.quote_plus(url), str(content)) cm = [] if content == 'movies': cm.append((control.lang(30708).encode('utf-8'), 'XBMC.Action(Info)')) elif content in ['tvshows', 'seasons']: cm.append((control.lang(30709).encode('utf-8'), 'XBMC.Action(Info)')) elif content == 'episodes': cm.append((control.lang(30710).encode('utf-8'), 'XBMC.Action(Info)')) if content == 'movies' and not isFolder == True: downloadFile = name try: downloadFile = '%s (%s)' % (data['title'], data['year']) except: pass cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(downloadFile), urllib.quote_plus(url), urllib.quote_plus(image)))) elif content == 'episodes' and not isFolder == True: downloadFile = name try: downloadFile = '%s S%02dE%02d' % (data['tvshowtitle'], int(data['season']), int(data['episode'])) except: pass cm.append((control.lang(30722).encode('utf-8'), 'RunPlugin(%s?action=addDownload&name=%s&url=%s&image=%s)' % (sysaddon, urllib.quote_plus(downloadFile), urllib.quote_plus(url), urllib.quote_plus(image)))) if content == 'movies': cm.append((control.lang(30711).encode('utf-8'), 'RunPlugin(%s?action=addView&content=movies)' % sysaddon)) elif content == 'tvshows': cm.append((control.lang(30712).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon)) elif content == 'seasons': cm.append((control.lang(30713).encode('utf-8'), 'RunPlugin(%s?action=addView&content=seasons)' % sysaddon)) elif content == 'episodes': cm.append((control.lang(30714).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon)) item = control.item(name, iconImage='DefaultFolder.png', thumbnailImage=image) try: item.setArt({'poster': image2, 'tvshow.poster': image2, 'season.poster': image2, 'banner': image, 'tvshow.banner': image, 'season.banner': image}) except: pass item.addContextMenuItems(cm, replaceItems=False) item.setProperty('Fanart_Image', fanart) if playable == 'true': item.setProperty('IsPlayable', 'true') item.setInfo(type='Video', infoLabels=data) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,totalItems=totalItems,isFolder=isFolder)
def addDirectoryItem(self, name, query, thumb, icon, isAction=True): try: name = name.encode('utf-8') url = '%s?action=%s' % (sysaddon, query) if isAction == True else query item = control.item(label=name) item.setArt({'icon': thumb, 'thumb': thumb}) control.addItem(handle=syshandle, url=url, listitem=item) except: pass
def addDirectoryItem(self, name, query, thumb, icon, queue=False, isAction=True, isFolder=True): try: name = control.lang(name).encode('utf-8') except: pass url = '%s?action=%s' % (sysaddon, query) if isAction == True else query cm = [] if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name) item.addContextMenuItems(cm) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def addDirectoryItem(self, name, query, thumb, icon, queue=False, isAction=True, isFolder=True): try: name = control.lang(name).encode('utf-8') except: pass url = '%s?action=%s' % (sysaddon, query) if isAction == True else query thumb = os.path.join(artPath, thumb) if not artPath == None else icon cm = [] if queue == True and isPlayable == True: cm.append((control.lang(30155).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name, iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems(cm, replaceItems=False) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=isFolder)
def addDirectoryItem(name, url, action, image, fanart, isFolder=True): if image == '0': image = addonIcon if fanart == '0': fanart = addonFanart u = '%s?name=%s&url=%s&image=%s&fanart=%s&action=%s' % (sys.argv[0], urllib.quote_plus(name), urllib.quote_plus(url), urllib.quote_plus(image), urllib.quote_plus(fanart), str(action)) item = control.item(name, iconImage=image, thumbnailImage=image) item.setInfo(type='Video', infoLabels = {'title': name}) item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) if not isFolder == True: item.setProperty('IsPlayable', 'true') control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=isFolder)
def addDirectory(self, items, queue=False): if items == None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() queueMenu = control.lang(32065).encode('utf-8') playRandom = control.lang(32535).encode('utf-8') addToLibrary = control.lang(32551).encode('utf-8') for i in items: try: name = i['name'] if i['image'].startswith('http'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] cm.append(('Settings', 'RunPlugin(%s?action=openSettings&query=0.0)' % sysaddon)) cm.append((playRandom, 'RunPlugin(%s?action=random&rtype=movie&url=%s)' % (sysaddon, urllib.quote_plus(i['url'])))) if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) try: cm.append((addToLibrary, 'RunPlugin(%s?action=moviesToLibrary&url=%s)' % (sysaddon, urllib.quote_plus(i['context'])))) except: pass item = control.item(label=name) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: pass control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True)
def addDirectoryItem(name, url, thumb, image, fanart): if not thumb == '0': image = thumb u = '%s?action=radioResolve&name=%s&url=%s&image=%s&fanart=%s' % (sys.argv[0], urllib.quote_plus(name), urllib.quote_plus(url), urllib.quote_plus(image), urllib.quote_plus(fanart)) meta = {'title': name, 'album': name, 'artist': name, 'comment': name} item = control.item(name, iconImage=image, thumbnailImage=image) try: item.setArt({'icon': image}) except: pass item.setInfo(type='Music', infoLabels = meta) item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]),url=u,listitem=item,isFolder=False)
def addDirectoryItem(self, name, query, thumb, icon, context=None, queue=False, isAction=True, isFolder=True): try: name = control.lang(name).encode('utf-8') except: pass url = '%s?action=%s' % (sysaddon, query) if isAction == True else query thumb = os.path.join(artPath, thumb) if not artPath == None else icon cm = [] cm.append(('Exodus Redux Settings', 'RunPlugin(%s?action=openSettings&query=(0,0))' % sysaddon)) if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) if not context == None: cm.append((control.lang(context[0]).encode('utf-8'), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) item = control.item(label=name) item.addContextMenuItems(cm) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def add_favorites(): try: favorite = favorites.Favorites().list() if len(favorite) > 0: sysaddon = sys.argv[0] addon_poster = addon_banner = control.addonInfo('icon') addon_fanart = control.addonInfo('fanart') item = control.item("Favorites") url = '%s?action=%s' % (sysaddon, "favorites") item.setArt({'poster': addon_poster, 'banner': addon_banner}) item.setProperty('Fanart_Image', addon_fanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass
def listEpisodes(self, catid, showid, page, image): syshandle = int(sys.argv[1]) url = self.episodes_link % (showid, page) cookie = 'ssMemberID=%d' % (self.member_id) try: result = client.request(url, cookie=cookie) except: pass link = ''.join(result.splitlines()).replace('\'','"') link = ''.join(link.splitlines()).replace('<i class="fa fa-play-circle-white"></i>','') episodematch = re.compile('class="chapterList">(.+?)</li>').findall(link) for em in episodematch: episodes = re.compile('player-(.+)">(.+)</a>').findall(em) for episode in episodes: name = episode[1].decode('utf-8') url = self.player_link % (episode[0]) self.list.append({'name': name, 'url': urllib.quote_plus(url), 'image': image}) for episode in self.list: name = episode['name'].encode('utf-8') url = episode['url'] image = episode['image'] action = 'sourcePage' query = '?action=%s&image=%s&url=%s&name=%s' % (action, image, url, urllib.quote_plus(name)) url = '%s%s' % (sysaddon, query) item = control.item(name, iconImage=image, thumbnailImage=image) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type="Video", infoLabels={"Title": name, "OriginalTitle": name}) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) # Pagination # paginator = re.compile('<div class="page_list" align="center">(.+?)</ul>').findall(link)[0] # pages = re.compile('>(\d+)</a>').findall(paginator) # nextPage = int(page) + 1 # if nextPage < len(pages): # action = 'listEpisodes' # query = '?action=%s&page=%d&name=%s&catid=%s&showid=%s&image=%s' % (action, nextPage, 'Next Page', catid, showid, image) # url = '%s%s' % (sysaddon, query) # item = control.item('Next Page', iconImage=image, thumbnailImage=image) # if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) # item.setInfo(type="Video", infoLabels={"Title": 'Next Page', "OriginalTitle": 'Next Page'}) # control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) control.content(syshandle, 'episodes') control.directory(syshandle, cacheToDisc=True) views.setView('episodes', {'skin.estuary': 55, 'skin.confluence': 50})
def addDirectory(self, items, queue=False, isFolder=True): if items == None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() queueMenu = control.lang(32065).encode('utf-8') playRandom = control.lang(32535).encode('utf-8') addToLibrary = control.lang(32551).encode('utf-8') for i in items: try: name = i['name'] if i['image'].startswith('http'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb item = control.item(label=name) if isFolder: url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass item.setProperty('IsPlayable', 'false') else: url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % i['url'] except: pass item.setProperty('IsPlayable', 'true') item.setInfo("mediatype", "video") item.setInfo("audio", '') item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder) except: pass control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True)
def add_directory(items): if items is None or len(items) == 0: return sysaddon = sys.argv[0] addon_poster = addon_banner = control.addonInfo('icon') addon_fanart = control.addonInfo('fanart') for i in items: item = control.item(i['name']) url = '%s?action=%s' % (sysaddon, i['action']) item.setArt({'poster': addon_poster, 'banner': addon_banner}) item.setProperty('Fanart_Image', addon_fanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) control.directory(int(sys.argv[1]), cacheToDisc=True) control.content(int(sys.argv[1]), 'files')
def downloader(): thumb = control.addonThumb() ; fanart = control.addonFanart() status = control.window.getProperty(property + '.status') if not downloadPath == '': item = control.item('[COLOR FF00b8ff]Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems([], replaceItems=True) item.setProperty('fanart_image', fanart) control.addItem(handle=int(sys.argv[1]), url=downloadPath, listitem=item, isFolder=True) if status == 'downloading': item = control.item('[COLOR red]Stop Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems([], replaceItems=True) item.setProperty('fanart_image', fanart) control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?action=stopDownload', listitem=item, isFolder=True) else: item = control.item('[COLOR FF00b8ff]Start Downloads[/COLOR]', iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems([], replaceItems=True) item.setProperty('fanart_image', fanart) control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?action=startDownload', listitem=item, isFolder=True) if status == 'downloading': item = control.item('[COLOR gold]Download Status[/COLOR]', iconImage=thumb, thumbnailImage=thumb) item.addContextMenuItems([], replaceItems=True) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=sys.argv[0]+'?action=statusDownload', listitem=item, isFolder=True) def download(): return [] result = cache.neptune_download_get(download, 600000000, table='rel_dl') for i in result: try: cm = [] cm.append(('Remove from Queue', 'RunPlugin(%s?action=removeDownload&url=%s)' % (sys.argv[0], urllib.quote_plus(i['url'])))) item = control.item(i['name'], iconImage=i['image'], thumbnailImage=i['image']) item.addContextMenuItems(cm, replaceItems=True) item.setProperty('fanart_image', fanart) item.setProperty('Video', 'true') item.setProperty('IsPlayable', 'true') control.addItem(handle=int(sys.argv[1]), url=i['url'], listitem=item) except: pass control.directory(int(sys.argv[1]), cacheToDisc=True)
def addDirectory(self, items, queue=False): if items == None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart = control.addonFanart() addonThumb = control.addonThumb() queueMenu = control.lang(32065).encode('utf-8') for i in items: try: name = i['name'] url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name) if i['image'].startswith('http'): iconIcon = iconThumb = iconPoster = iconBanner = i['image'] else: iconIcon, iconThumb, iconPoster, iconBanner = interface.Icon.pathAll(icon = i['image'], default = addonThumb) item.setArt({'icon': iconIcon, 'thumb': iconThumb, 'poster': iconPoster, 'banner': iconBanner}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: pass control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True) interface.traktApi()
def addDirectory(self, items, queue=False): if items == None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() queueMenu = control.lang(32065).encode('utf-8') for i in items: try: name = i['name'] if i['image'].startswith('http://'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: pass #control.do_block_check(False) control.directory(syshandle, cacheToDisc=True)
def addDirectory(self, items, queue=False, isFolder=True): if items is None or len(items) is 0: control.idle() sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() for i in items: try: name = i['name'] if i['image'].startswith('http'): thumb = i['image'] elif artPath is not None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb item = control.item(label=name) if isFolder: url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except Exception: pass item.setProperty('IsPlayable', 'false') else: url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % i['url'] except Exception: pass item.setProperty('IsPlayable', 'true') item.setInfo("mediatype", "video") item.setInfo("audio", '') item.setArt({'icon': thumb, 'thumb': thumb}) if addonFanart is not None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder) except Exception: pass control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True)
def user_cloud_to_listItem(self, folder_id=None): sysaddon, syshandle = argv[0], int(argv[1]) folder_str, deleteMenu = control.lang(40046).upper(), control.lang( 40050) cloud_dict = self.user_cloud()['magnets'] cloud_dict = [i for i in cloud_dict if i['statusCode'] == 4] for count, item in enumerate(cloud_dict, 1): try: cm = [] folder_name = control.strip_non_ascii_and_unprintable( item['filename']) id = item['id'] status_str = '[COLOR %s]%s[/COLOR]' % ( control.getColor(control.setting('highlight.color')), item['status'].capitalize()) label = '%02d | [B]%s[/B] | [B]%s[/B] | [I]%s [/I]' % ( count, status_str, folder_str, folder_name) url = '%s?action=ad_BrowseUserCloud&source=%s' % ( sysaddon, quote_plus(jsdumps(item))) cm.append( (deleteMenu % 'Transfer', 'RunPlugin(%s?action=ad_DeleteTransfer&id=%s&name=%s)' % (sysaddon, id, folder_name))) item = control.item(label=label) item.addContextMenuItems(cm) item.setArt({ 'icon': ad_icon, 'poster': ad_icon, 'thumb': ad_icon, 'fanart': addonFanart, 'banner': ad_icon }) item.setInfo(type='video', infoLabels='') control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: log_utils.error() control.content(syshandle, 'files') control.directory(syshandle, cacheToDisc=True)
def views(self): try: control.idle() items = [("Filme", 'movies'), ("TV-Serien", 'tvshows'), ("Staffeln", 'seasons'), ("Episoden", 'episodes')] select = control.selectDialog([i[0] for i in items], "[B]INFINITY[/B]: Anzeige-Typen") if select == -1: return content = items[select][1] title = "HIER KLICKEN, UM ANSICHT ZU SPEICHERN" url = '%s?action=addView&content=%s' % (sys.argv[0], content) poster, banner, fanart = control.addonPoster( ), control.addonBanner(), control.addonFanart() item = control.item(label=title) item.setInfo(type='Video', infoLabels={'title': title}) item.setArt({ 'icon': poster, 'thumb': poster, 'poster': poster, 'banner': banner }) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) control.content(int(sys.argv[1]), content) control.directory(int(sys.argv[1]), cacheToDisc=True) from resources.lib.modules import views views.setView(content, {}) except: return
def views(self): try: control.idle() items = [ (control.lang(32001).encode('utf-8'), 'movies'), (control.lang(32002).encode('utf-8'), 'tvshows'), (control.lang(32054).encode('utf-8'), 'seasons'), (control.lang(32038).encode('utf-8'), 'episodes') ] select = control.selectDialog([i[0] for i in items], control.lang(32049).encode('utf-8')) if select == -1: return content = items[select][1] title = control.lang(32059).encode('utf-8') url = '%s?action=addView&content=%s' % (sys.argv[0], content) poster, banner, fanart = control.addonPoster(), control.addonBanner(), control.addonFanart() item = control.item(label=title) item.setInfo(type='Video', infoLabels = {'title': title}) item.setArt({'icon': poster, 'thumb': poster, 'poster': poster, 'banner': banner}) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) control.content(int(sys.argv[1]), content) control.directory(int(sys.argv[1]), cacheToDisc=True) from resources.lib.modules import views views.setView(content, {}) except: return
def addStationToDirectory(self, station, context=None, queue=False, isAction=True, isFolder=False): try: name = str(station['name']).encode('utf-8') except Exception: name = 'Unknown Station' query = 'radioPlayStation&url=%s' % (str(station['id'])) url = '%s?action=%s' % (sysaddon, query) if isAction is True else query thumbnail = (station.get('picture4TransName') or station.get('picture4Name') or station.get('picture1TransName').replace('_1_', '_4_') or station.get('picture1Name').replace('_1_', '_4_')) thumb = station['pictureBaseURL'] + thumbnail cm = [] if context is not None: cm.append((control.lang(context[0]).encode('utf-8'), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) item = control.item(label=name) item.addContextMenuItems(cm) item.setProperty('IsPlayable', 'true') item.setArt({'icon': thumb, 'thumb': thumb}) if addonFanart is not None: item.setProperty('Fanart_Image', addonFanart) iInfo = {'title': station.get('name', ''), 'rating': str(station.get('rating', '0.0')), 'genre': station.get('genre', ''), 'size': int(station.get('bitrate', 0)), 'comment': station.get('current_track', '')} item.setInfo('Music', iInfo) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def add_last_visited(anime_id): try: c = cache.get(masterani.get_anime_details, 8, anime_id) sysaddon = sys.argv[0] addon_poster = addon_banner = control.addonInfo('icon') addon_fanart = control.addonInfo('fanart') item = control.item("Last Visited: [I]%s[/I]" % c['title']) poster = c['poster'][0] fanart = c['fanart'][0] item.setArt({'poster': poster}) item.setProperty("Fanart_Image", fanart) url = '%s?action=get_episodes' % sysaddon try: url += '&anime_id=%s' % anime_id except: pass control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass
def addDirectoryItem(name, url, thumb, image, fanart): if not thumb == '0': image = thumb u = '%s?action=radioResolve&name=%s&url=%s&image=%s&fanart=%s' % ( sys.argv[0], urllib.quote_plus(name), urllib.quote_plus(url), urllib.quote_plus(image), urllib.quote_plus(fanart)) meta = {'title': name, 'album': name, 'artist': name, 'comment': name} item = control.item(name, iconImage=image, thumbnailImage=image) try: item.setArt({'icon': image}) except: pass item.setInfo(type='Music', infoLabels=meta) item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=u, listitem=item, isFolder=False)
def addDirectory(self, items, queue=False): if items == None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) addonFanart, addonThumb, artPath = control.addonFanart(), control.addonThumb(), control.artPath() queueMenu = control.lang(32065).encode('utf-8') for i in items: try: name = i['name'] if i['image'].startswith('http'): thumb = i['image'] elif not artPath == None: thumb = os.path.join(artPath, i['image']) else: thumb = addonThumb url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % urllib.quote_plus(i['url']) except: pass cm = [] if queue == True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) item = control.item(label=name) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: pass control.directory(syshandle, cacheToDisc=True)
def addDirectoryItem(self, name, query, thumb, icon, context=None, queue=False, isAction=True, isFolder=True, isPlayable=False, isSearch=False, table=''): try: if type(name) is str or type(name) is unicode: name = str(name) if type(name) is int: name = control.lang(name).encode('utf-8') except: log_utils.error() url = '%s?action=%s' % (sysaddon, query) if isAction else query thumb = os.path.join(artPath, thumb) if artPath is not None else icon if not icon.startswith('Default'): icon = os.path.join(artPath, icon) cm = [] queueMenu = control.lang(32065).encode('utf-8') if queue is True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) if context is not None: cm.append((control.lang(context[0]).encode('utf-8'), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) if isSearch is True: cm.append(('Clear Search Phrase', 'RunPlugin(%s?action=clearSearchPhrase&table=%s&name=%s)' % (sysaddon, table, name))) cm.append((control.lang(32610).encode('utf-8'), 'RunPlugin(%s?action=clearAllCache&opensettings=false)' % sysaddon)) cm.append(('[COLOR red]Venom Settings[/COLOR]', 'RunPlugin(%s?action=openSettings)' % sysaddon)) item = control.item(label=name) item.addContextMenuItems(cm) if isPlayable: item.setProperty('IsPlayable', 'true') else: item.setProperty('IsPlayable', 'false') item.setArt({'icon': icon, 'poster': thumb, 'thumb': thumb, 'fanart': control.addonFanart(), 'banner': thumb}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder= isFolder)
def get_program_dates(self, program_id, poster=None, provider='globoplay'): days = globoplay.Indexer().get_program_dates(program_id) if days is None or len(days) == 0: control.idle() sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) for day in days: label = day meta = {} meta.update({'mediatype': 'video'}) meta.update({'overlay': 6}) meta.update({'title': label}) meta.update({'date': day}) url = '%s?action=openvideos&provider=%s&program_id=%s&date=%s' % ( sysaddon, provider, program_id, day) item = control.item(label=label) art = {'poster': poster} item.setArt(art) # item.setProperty('Fanart_Image', GLOBO_FANART) item.setProperty('IsPlayable', "false") item.setInfo(type='video', infoLabels=meta) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) control.addSortMethod(int(sys.argv[1]), control.SORT_METHOD_DATE) control.content(syshandle, 'episodes') control.directory(syshandle, cacheToDisc=False)
def views(self): try: syshandle = int(argv[1]) control.hide() items = [(control.lang(32001), 'movies'), (control.lang(32002), 'tvshows'), (control.lang(32054), 'seasons'), (control.lang(32038), 'episodes')] select = control.selectDialog([i[0] for i in items], control.lang(32049)) if select == -1: return content = items[select][1] title = control.lang(32059) url = '%s?action=tools_addView&content=%s' % (argv[0], content) poster, banner, fanart = control.addonPoster( ), control.addonBanner(), control.addonFanart() try: item = control.item(label=title, offscreen=True) except: item = control.item(label=title) item.setInfo(type='video', infoLabels={'title': title}) item.setArt({ 'icon': poster, 'thumb': poster, 'poster': poster, 'fanart': fanart, 'banner': banner }) item.setProperty('IsPlayable', 'false') control.addItem(handle=syshandle, url=url, listitem=item, isFolder=False) control.content(syshandle, content) control.directory(syshandle, cacheToDisc=True) from resources.lib.modules import views views.setView(content, {}) except: log_utils.error() return
def add_last_visited(anime_id): try: c = cache.get(masterani.get_anime_details, 8, anime_id) sysaddon = sys.argv[0] addon_poster = addon_banner = control.addonInfo('icon') addon_fanart = control.addonInfo('fanart') item = control.item("Last Played: [I]%s[/I]" % c['title']) poster = "http://cdn.masterani.me/poster/%s" % c['poster'] fanart = "http://cdn.masterani.me/wallpaper/0/%s" % c['fanart'][0] item.setArt({'poster': poster}) item.setProperty("Fanart_Image", fanart) url = '%s?action=get_episodes' % sysaddon try: url += '&anime_id=%s' % anime_id except: pass control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass
def addDirectoryItem(self, name, query, thumb, icon, context=None, queue=False, isAction=True, isFolder=True): try: name = control.lang(name) except: pass sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) url = '%s?action=%s' % (sysaddon, query) if isAction is True else query thumb = control.joinPath(artPath, thumb) if artPath is not None else icon cm = [] if queue: cm.append((queueMenu, 'RunPlugin(%s?action=playlist_QueueItem)' % sysaddon)) if context: cm.append((control.lang(context[0]), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) item = control.item(label=name) item.addContextMenuItems(cm) item.setArt({'icon': thumb, 'thumb': thumb, 'fanart': addonFanart}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def getApplications(offset=None): if offset == None: offset = '0' link = '/store/groups/get/store_name=apps/group_name=applications' url = aptoide_API + link r = requests.get(url).json() r = r['datalist']['list'] for item in r: name = item['name'].encode('utf-8') id = item['id'] id = str(id) label = name item = control.item(label=label) isFolder = True item.setArt({'icon': icon, 'thumb': icon}) item.setProperty('Fanart_Image', fanart) url = '%s?action=%s&id=%s' % (sysaddon, 'getStore', name) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder) control.directory(syshandle, cacheToDisc=False)
def addDirectoryItem(self, name, query, thumb, icon, context=None, queue=False, isAction=True, isFolder=True): try: name = control.lang(name).encode('utf-8') except Exception: pass url = '%s?action=%s' % (sysaddon, query) if isAction is True else query if 'http' not in thumb: thumb = os.path.join(artPath, thumb) if artPath is not None else icon cm = [] queueMenu = control.lang(32065).encode('utf-8') if queue is True: cm.append((queueMenu, 'RunPlugin(%s?action=queueItem)' % sysaddon)) if context is not None: cm.append((control.lang(context[0]).encode('utf-8'), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) item = control.item(label=name) item.addContextMenuItems(cm) item.setArt({'icon': thumb, 'thumb': thumb}) if addonFanart is not None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def addDirectoryItem(self, name, query, thumb, icon, queue=False, isAction=True, isFolder=True): try: name = control.lang(name).encode('utf-8') except: pass url = '%s?action=%s' % (sysaddon, query) if isAction == True else query thumb = os.path.join(artPath, thumb) if not artPath == None else icon item = control.item(label=name) item.setArt({'icon': thumb, 'thumb': thumb}) if not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=isFolder)
def addMenuItem(self, name, action, subid, iconimage, fanart, description='', isFolder=True): url = '%s?action=%s&id=%s' % (argv[0], action, subid) liz = control.item(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage) liz.setInfo(type='video', infoLabels={ 'title': name, 'plot': description }) liz.setProperty('Fanart_Image', fanart) control.addItem(handle=int(argv[1]), url=url, listitem=liz, isFolder=isFolder)
def addMenuItem(self, name, action, subid, iconimage, fanart, description='', isFolder=True): u = sys.argv[0] + "?action=" + action + "&subid=" + subid liz = control.item(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage) liz.setInfo(type="Video", infoLabels={ "Title": name, "Plot": description }) liz.setProperty('fanart_image', fanart) control.addItem(handle=syshandle, url=u, listitem=liz, isFolder=isFolder)
def transferList(): clearfinished = '%s?action=%s' % (sysaddon, 'premiumizeClearFinished') item = control.item(label='Clear Finished Transfers') control.addItem(handle=syshandle, url=clearfinished, listitem=item, isFolder=False) url = urlparse.urljoin(premiumize_Api, premiumizeTransfer) r = reqJson(url) r = r['transfers'] for result in r: cm = [] status = result['status'] name = result['name'].encode('utf-8') name = normalize(name) progress = result.get('progress') if not status == 'finished': if not progress == '0': try: progress = re.findall('\.(\d+)', str(progress))[0] progress = progress[:2] except: progress = '' try: message = result['message'] except: message = '' label = "[B]" + status.upper() + "[/B] [" + str(progress) + " %] " + message + " | " + name else: label = "[B]" + status.upper() + "[/B] | " + name id = result['id'] type = 'torrent' url = '0' cm.append(('Delete from Cloud', 'RunPlugin(%s?action=premiumizeDeleteItem&id=%s&type=%s)' % (sysaddon, id, type))) item.setArt({'icon': control.icon, 'thumb': control.icon}) item.setProperty('Fanart_Image', control.addonFanart()) item = control.item(label=label) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True)
def category_combate_directory(self, items): if items is None or len(items) == 0: control.idle() ; sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) # 32072 = "Refresh" refreshMenu = control.lang(32072).encode('utf-8') for item in items: title = item['title'] label = title slug = item['slug'] meta = {} meta.update({'title': title}) url = '%s?action=opencategory&provider=%s&category=%s' % (sysaddon, 'combate', slug) item = control.item(label=label) # art = {'icon': GLOBO_LOGO, 'thumb': GLOBO_LOGO, 'fanart': fanart} # item.setArt(art) # item.setProperty('Fanart_Image', fanart) item.setProperty('IsPlayable', "false") item.setInfo(type='video', infoLabels = meta) cm = [] cm.append((refreshMenu, 'RunPlugin(%s?action=refresh)' % sysaddon)) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) # control.addSortMethod(int(sys.argv[1]), control.SORT_METHOD_LABEL_IGNORE_FOLDERS) control.content(syshandle, 'files') control.directory(syshandle, cacheToDisc=False)
def addSectionItem(self, name, iconimage, fanart): try: url = '%s?action=sectionItem' % argv[0] try: liz = control.item(label=name, offscreen=True) except: liz = control.item(label=name) liz.setArt({ 'icon': 'DefaultFolder.png', 'thumb': iconimage, 'fanart': fanart }) liz.setInfo(type='video', infoLabels={ 'title': name, 'plot': description }) control.addItem(handle=int(argv[1]), url=url, listitem=liz, isFolder=False) except: log_utils.error()
def addDirectoryItem(self, name, query, poster, icon, context=None, queue=False, isAction=True, isFolder=True, isPlayable=False, isSearch=False, table=''): try: sysaddon = argv[0] ; syshandle = int(argv[1]) if isinstance(name, int): name = getLS(name) url = '%s?action=%s' % (sysaddon, query) if isAction else query poster = control.joinPath(self.artPath, poster) if self.artPath else icon if not icon.startswith('Default'): icon = control.joinPath(self.artPath, icon) cm = [] queueMenu = getLS(32065) if queue: cm.append((queueMenu, 'RunPlugin(%s?action=playlist_QueueItem)' % sysaddon)) if context: cm.append((getLS(context[0]), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) if isSearch: cm.append(('Clear Search Phrase', 'RunPlugin(%s?action=cache_clearSearchPhrase&source=%s&name=%s)' % (sysaddon, table, quote_plus(name)))) cm.append(('[COLOR red]Venom Settings[/COLOR]', 'RunPlugin(%s?action=tools_openSettings)' % sysaddon)) item = control.item(label=name, offscreen=True) item.addContextMenuItems(cm) if isPlayable: item.setProperty('IsPlayable', 'true') else: item.setProperty('IsPlayable', 'false') item.setArt({'icon': icon, 'poster': poster, 'thumb': poster, 'fanart': control.addonFanart(), 'banner': poster}) item.setInfo(type='video', infoLabels={'plot': name}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder= isFolder) except: from resources.lib.modules import log_utils log_utils.error()
def addDirectory(self, items, queue=False): control.playlist.clear() if not items: # with reuselanguageinvoker on an empty directory must be loaded, do not use sys.exit() control.hide() ; control.notification(title=32002, message=33049) sysaddon, syshandle = argv[0], int(argv[1]) addonThumb = control.addonThumb() artPath = control.artPath() queueMenu, playRandom, addToLibrary = control.lang(32065), control.lang(32535), control.lang(32551) for i in items: try: name = i['name'] if i['image'].startswith('http'): thumb = i['image'] elif artPath: thumb = control.joinPath(artPath, i['image']) else: thumb = addonThumb icon = i.get('icon', 0) if not icon: icon = 'DefaultFolder.png' url = '%s?action=%s' % (sysaddon, i['action']) try: url += '&url=%s' % quote_plus(i['url']) except: pass cm = [] cm.append((playRandom, 'RunPlugin(%s?action=play_Random&rtype=show&url=%s)' % (sysaddon, quote_plus(i['url'])))) if queue: cm.append((queueMenu, 'RunPlugin(%s?action=playlist_QueueItem)' % sysaddon)) try: if control.setting('library.service.update') == 'true': cm.append((addToLibrary, 'RunPlugin(%s?action=library_tvshowsToLibrary&url=%s&name=%s)' % (sysaddon, quote_plus(i['context']), name))) except: pass cm.append(('[COLOR red]Venom Settings[/COLOR]', 'RunPlugin(%s?action=tools_openSettings)' % sysaddon)) item = control.item(label=name, offscreen=True) item.setProperty('IsPlayable', 'false') item.setArt({'icon': icon, 'poster': thumb, 'thumb': thumb, 'fanart': control.addonFanart(), 'banner': thumb}) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) except: from resources.lib.modules import log_utils log_utils.error() control.content(syshandle, 'addons') control.directory(syshandle, cacheToDisc=True)
def browse_user_cloud(self, folder): sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) extensions = supported_video_extensions() torrent_folder = json.loads(folder) links = torrent_folder['links'] links = [i for i in links if i['filename'].lower().endswith(tuple(extensions))] status_code = torrent_folder['statusCode'] file_str, downloadMenu, deleteMenu = control.lang(40047).upper(), control.lang(40048), control.lang(40050) for count, item in enumerate(links, 1): try: cm = [] url_link = item['link'] # name = clean_file_name(item['filename']).upper() name = item['filename'] size = item['size'] display_size = float(int(size))/1073741824 label = '%02d | [B]%s[/B] | %.2f GB | [I]%s [/I]' % (count, file_str, display_size, name) if status_code == 4: url = '%s?action=playURL&url=%s&caller=alldebrid&type=unrestrict' % (sysaddon, url_link) else: url = '' cm.append((downloadMenu, 'RunPlugin(%s?action=download&name=%s&image=%s&url=%s&caller=alldebrid)' % (sysaddon, quote_plus(name), quote_plus(ad_icon), url_link))) item = control.item(label=label) item.addContextMenuItems(cm) item.setArt({'icon': ad_icon, 'poster': ad_icon, 'thumb': ad_icon, 'fanart': addonFanart, 'banner': ad_icon}) item.setInfo(type='video', infoLabels='') video_streaminfo = {'codec': 'h264'} item.addStreamInfo('video', video_streaminfo) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=False) except: log_utils.error() pass control.content(syshandle, 'files') control.directory(syshandle, cacheToDisc=True)
def get_fighters(self, letter): fighters = cache.get(globosat.Indexer().get_fighters, 1, letter) sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) for fighter in fighters: label = fighter['title'] slug = fighter['slug'] thumb = fighter['thumb'] if 'thumb' in fighter else None meta = { 'mediatype': 'episode', 'overlay': 6, 'title': label, 'slug': slug, 'url': fighter['url'] } url = '%s?action=openfighter&slug=%s' % (sysaddon, slug) item = control.item(label=label) art = {'icon': thumb, 'thumb': thumb, 'fanart': thumb, 'poster': thumb, 'banner': thumb, 'landscape': thumb } item.setProperty('Fanart_Image', thumb) item.setArt(art) item.setProperty('IsPlayable', "false") item.setInfo(type='video', infoLabels=meta) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) control.addSortMethod(int(sys.argv[1]), control.SORT_METHOD_LABEL_IGNORE_FOLDERS) control.content(syshandle, 'episodes') control.directory(syshandle, cacheToDisc=False)
def play(self, type='', name='', year='', url='', imdb='', windowedtrailer=0): try: url = self.worker(type, name, year, url, imdb) if not url: return title = control.infoLabel('ListItem.Title') if not title: title = control.infoLabel('ListItem.Label') icon = control.infoLabel('ListItem.Icon') try: item = control.item(label=title, offscreen=True) except: item = control.item(label=title) item.setProperty('IsPlayable', 'true') item.setArt({ 'icon': icon, 'thumb': icon, }) item.setInfo(type='video', infoLabels={'title': title}) control.addItem(handle=int(argv[1]), url=url, listitem=item, isFolder=False) control.refresh() control.resolve(handle=int(argv[1]), succeeded=True, listitem=item) if windowedtrailer == 1: control.sleep(1000) while control.player.isPlayingVideo(): control.sleep(1000) control.execute("Dialog.Close(%s, true)" % control.getCurrentDialogId) except: log_utils.error()
def addDirectoryItem(name, action, thumb, image, fanart, url='0'): if thumb == '0': thumb = image u = '%s?action=%s&url=%s&image=%s&fanart=%s' % ( sys.argv[0], str(action), urllib.quote_plus(url), urllib.quote_plus(thumb), urllib.quote_plus(fanart)) item = control.item(name, iconImage=thumb, thumbnailImage=thumb) try: item.setArt({ 'poster': thumb, 'tvshow.poster': thumb, 'season.poster': thumb, 'banner': thumb, 'tvshow.banner': thumb, 'season.banner': thumb }) except: pass item.addContextMenuItems([], replaceItems=False) item.setProperty('Fanart_Image', fanart) control.addItem(handle=int(sys.argv[1]), url=u, listitem=item, isFolder=True)
def selectivelibrary_nav(): r , lastUpdate = selective_update(mode='get') try: label = 'Last Sync: ' + str(lastUpdate) item = control.item(label=label) item.setArt({'icon': control.icon, 'thumb': control.icon}) item.setProperty('Fanart_Image', control.addonFanart()) control.addItem(handle=syshandle, url='0', listitem=item, isFolder=False) except:pass for item in r: try: id = item['id'] name = item['name'] label = name url = '%s?action=%s&id=%s&name=%s' % (sysaddon, 'selectiveLibraryManager', id, name) item = control.item(label=label) item.setArt({'icon': control.icon, 'thumb': control.icon}) item.setProperty('Fanart_Image', control.addonFanart()) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=False) except:pass control.directory(syshandle, cacheToDisc=False)
def channel_directory(self, items): if items is None or len(items) == 0: control.idle(); sys.exit() sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) fanart = os.path.join(artPath, 'fanart_sexyhot.png') logo = os.path.join(artPath, 'logo_sexyhot.png') refreshMenu = control.lang(32072).encode('utf-8') cm = [] cm.append((refreshMenu, 'RunPlugin(%s?action=refresh)' % sysaddon)) for index, item in enumerate(items): label = item['name'] sysurl = urllib.quote_plus(item['url']) url = '%s?action=getVideos&provider=sexyhot&url=%s' % (sysaddon, sysurl) item = control.item(label=label) item.setArt({ 'logo': logo, # 'thumb': logo, 'fanart': fanart, }) item.addContextMenuItems(cm) item.setProperty('IsPlayable', 'true') item.setProperty('Fanart_Image', fanart) item.setInfo(type='video', infoLabels={'title': label}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) # control.addSortMethod(int(sys.argv[1]), control.SORT_METHOD_LABEL_IGNORE_FOLDERS) control.content(syshandle, 'files') control.directory(syshandle, cacheToDisc=False)
def torrentList(): r = realdebrid().torrentList() for item in r: cm = [] status = item['status'] id = item['id'] name = item['filename'] label = status.upper() + " | " + name item = control.item(label=label) item.setArt({'icon': control.addonIcon()}) item.setProperty('Fanart_Image', control.addonFanart()) infolabel = {"Title": label} cm.append(('Delete Torrent Item', 'RunPlugin(%s?action=rdDeleteItem&id=%s&type=torrents)' % (sysaddon, id))) url = '%s?action=%s&id=%s' % (sysaddon, 'rdTorrentInfo', id) item.addContextMenuItems(cm) control.addItem(handle=syshandle, url=url, listitem=item, isFolder=True) control.directory(syshandle, cacheToDisc=True)
def addDirectoryItem(self, name, query, thumb, icon, context=None, queue=False, isAction=True, isFolder=True, isPlayable=False, isSearch=False, table=''): sysaddon = sys.argv[0] syshandle = int(sys.argv[1]) try: if type(name) is str or type(name) is unicode: name = str(name) if type(name) is int: name = control.lang(name) except: log_utils.error() url = '%s?action=%s' % (sysaddon, query) if isAction else query thumb = control.joinPath(artPath, thumb) if artPath else icon if not icon.startswith('Default'): icon = control.joinPath(artPath, icon) cm = [] queueMenu = control.lang(32065) if queue: cm.append((queueMenu, 'RunPlugin(%s?action=playlist_QueueItem)' % sysaddon)) if context: cm.append((control.lang(context[0]), 'RunPlugin(%s?action=%s)' % (sysaddon, context[1]))) if isSearch: try: from urllib import quote_plus except: from urllib.parse import quote_plus cm.append(('Clear Search Phrase', 'RunPlugin(%s?action=cache_clearSearchPhrase&source=%s&name=%s)' % (sysaddon, table, quote_plus(name)))) cm.append(('[COLOR red]Venom Settings[/COLOR]', 'RunPlugin(%s?action=openSettings)' % sysaddon)) item = control.item(label=name) item.addContextMenuItems(cm) if isPlayable: item.setProperty('IsPlayable', 'true') else: item.setProperty('IsPlayable', 'false') item.setArt({'icon': icon, 'poster': thumb, 'thumb': thumb, 'fanart': control.addonFanart(), 'banner': thumb}) control.addItem(handle=syshandle, url=url, listitem=item, isFolder= isFolder)