def movies(self): self.addDirectoryItem(30021, 'movieGenres', 'movieGenres.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30022, 'movieYears', 'movieYears.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30023, 'moviePersons', 'movies.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30024, 'movieCertificates', 'movieCertificates.jpg', 'DefaultMovies.png') self.addDirectoryItem(30025, 'movies&url=featured', 'movies.jpg', 'DefaultRecentlyAddedMovies.png') self.addDirectoryItem(30026, 'movies&url=trending', 'moviesTrending.jpg', 'DefaultRecentlyAddedMovies.png') #self.addDirectoryItem(30027, 'movies&url=popular', 'moviesPopular.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30028, 'movies&url=views', 'moviesViews.jpg', 'DefaultMovies.png') self.addDirectoryItem(30029, 'movies&url=boxoffice', 'moviesBoxoffice.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30030, 'movies&url=oscars', 'moviesOscars.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30031, 'movies&url=theaters', 'moviesTheaters.jpg', 'DefaultRecentlyAddedMovies.png') #self.addDirectoryItem(30032, 'movies&url=added', 'moviesAdded.jpg', 'DefaultRecentlyAddedMovies.png') self.addDirectoryItem(30033, 'movieFavourites', 'movieFavourites.jpg', 'DefaultMovies.png') #self.addDirectoryItem(30034, 'moviePerson', 'moviePerson.jpg', 'DefaultMovies.png') self.addDirectoryItem(30035, 'movieSearch', 'movieSearch.jpg', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def tvshows(self): self.addDirectoryItem(30051, 'tvGenres', 'tvGenres.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30052, 'tvYears', 'tvshows.jpg', 'DefaultTVShows.png') self.addDirectoryItem(30053, 'tvNetworks', 'tvshows.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30054, 'tvshows&url=trending', 'tvshowsTrending.jpg', 'DefaultRecentlyAddedEpisodes.png') self.addDirectoryItem(30055, 'tvshows&url=popular', 'tvshowsPopular.jpg', 'DefaultTVShows.png') self.addDirectoryItem(30056, 'tvshows&url=airing', 'tvshows.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30057, 'tvshows&url=active', 'tvshowsActive.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30058, 'tvshows&url=premiere', 'tvshows.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30059, 'tvshows&url=rating', 'tvshowsRating.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30060, 'tvshows&url=views', 'tvshowsViews.jpg', 'DefaultTVShows.png') self.addDirectoryItem(30061, 'calendars', 'calendar.jpg', 'DefaultRecentlyAddedEpisodes.png') #self.addDirectoryItem(30062, 'calendar&url=added', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png') self.addDirectoryItem(30063, 'episodeFavourites', 'tvFavourites.jpg', 'DefaultRecentlyAddedEpisodes.png') self.addDirectoryItem(30064, 'tvFavourites', 'tvFavourites.jpg', 'DefaultTVShows.png') #self.addDirectoryItem(30065, 'tvPerson', 'tvPerson.jpg', 'DefaultTVShows.png') self.addDirectoryItem(30066, 'tvSearch', 'tvSearch.jpg', 'DefaultTVShows.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def root(self): self.addDirectoryItem('Movies', 'movieNavigator', 'root_movies.jpg', 'DefaultMovies.png') self.addDirectoryItem('Series', 'tvNavigator', 'root_shows.jpg', 'DefaultMovies.png') self.addDirectoryItem('Thai Live TV', 'thaiLiveTV', 'root_livetv.jpg', 'DefaultMovies.png') self.addDirectoryItem('Thai Shows', 'thaiShows', 'root_thai.jpg', 'DefaultMovies.png') self.addDirectoryItem('Thai Shows 2', 'thaiShows2', 'root_thai.jpg', 'DefaultMovies.png') self.addDirectoryItem('Live TV', 'liveTV', 'root_livetv.png', 'DefaultMovies.png') self.addDirectoryItem('Bollywood', 'bollywood', 'bollywood.jpg', 'DefaultMovies.png') self.addDirectoryItem('Cartoons', 'cartoons', 'cartoons.png', 'DefaultMovies.png') self.addDirectoryItem(30119, 'clearSources', 'experiment.jpg', 'DefaultAddonProgram.png') #self.addDirectoryItem('1080P Movies', '1080p', 'hd-logo.png', 'DefaultMovies.png') #self.addDirectoryItem('Experiment', 'thaiShows2', 'experiment.jpg', 'DefaultMovies.png') #self.addDirectoryItem('Working on DooFree 3.0 to make things faster', '', '', 'DefaultMovies.png') ''' if (traktMode == True and not control.setting('tv_alt_widget') == '0') or (traktMode == False and not control.setting('tv_widget') == '0'): self.addDirectoryItem(30006, 'tvWidget', 'calendarsAdded.jpg', 'DefaultRecentlyAddedEpisodes.png') ''' self.endDirectory() views.setView('movies', {'skin.confluence': 500}) from resources.lib.libraries import cache from resources.lib.libraries import changelog cache.get(changelog.get, 600000000, control.addonInfo('version'))
def addDirectory(self, items): if items == None or len(items) == 0: return sysaddon = sys.argv[0] addonFanart = control.addonFanart() addonThumb = control.addonThumb() artPath = 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 views.setView('movies', {'skin.confluence': control.viewMode['thumbnails']}) control.directory(int(sys.argv[1]), cacheToDisc=True)
def thaiShows(self): self.addDirectoryItem('ละครไทย (ออนแอร์) / Thai Dramas (on air)', 'listShows&catid=18', '', 'DefaultMovies.png') self.addDirectoryItem('ละครไทย (อวสาน) / Thai Dramas (ended)', 'listShows&catid=27', '', 'DefaultMovies.png') self.addDirectoryItem('ซีรี่ย์เกาหลี / Korean Series', 'listShows&catid=17', '', 'DefaultMovies.png') self.addDirectoryItem('หนังจีนชุด / Chinese Series', 'listShows&catid=37', '', 'DefaultMovies.png') self.addDirectoryItem('รายการอาหาร / Cooking Shows', 'listShows&catid=15', '', 'DefaultMovies.png') self.addDirectoryItem('วาไรตี้โชว์ / Variety Shows', 'listShows&catid=8', '', 'DefaultMovies.png') self.addDirectoryItem('เรียลลิตี้โชว์ / Reality & Singing Contest', 'listShows&catid=84', '', 'DefaultMovies.png') self.addDirectoryItem('เกมส์โชว์ / Game Shows', 'listShows&catid=2', '', 'DefaultMovies.png') self.addDirectoryItem('ข่าว / Thai News', 'listShows&catid=4', '', 'DefaultMovies.png') self.addDirectoryItem('ทอล์กโชว์ / Talk Shows', 'listShows&catid=3', '', 'DefaultMovies.png') self.addDirectoryItem('ภาพยนตร์ไทย / Thai Movies', 'listShows&catid=92', '', 'DefaultMovies.png') self.addDirectoryItem('ภาพยนตร์ฝรั่งใหม่ / US Movies (Thai dubbed)', 'listShows&catid=98', '', 'DefaultMovies.png') self.addDirectoryItem('ซีรี่ย์ฝรั่ง / US Series (Thai dubbed)', 'listShows&catid=38', '', 'DefaultMovies.png') self.addDirectoryItem('ภาพยนตร์แอนนิเมชั่น / Animation', 'listShows&catid=93', '', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def thaiLiveTV(self): # live4 is asia, uk99 is uk self.addDirectoryItem('3HD', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chlive3/live3stream_720p_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('3SD', 'playThaiLiveTV&url=http://edge4-03.thaimediaserver.com/chlive3sd/live3sd_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('3Family', 'playThaiLiveTV&url=http://edge4-10.thaimediaserver.com/chlive3family/live3family_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('3HD Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch3hd&name=3HD&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('5', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chlive5/live5stream_20150924/playlist.m3u8&name=5&image=ch5hd.png', 'ch5hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('5 Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch5hd&name=5HD&image=ch5hd.png', 'ch5hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('7HD', 'playThaiLiveTV&url=http://edge4-09.thaimediaserver.com/chlive7/live7stream_720p_20150924/playlist.m3u8&name=7HD&image=ch7hd.png', 'ch7hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('7HD Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch7hd&name=7HD&image=ch7hd.png', 'ch7hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('8', 'playThaiLiveTV&url=http://edge3-04.thaimediaserver.com/chlive8/live8stream_20150924/playlist.m3u8&name=8HD&image=ch8hd.png', 'ch8hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('8 Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/cheight1&name=8HD&image=ch8hd.png', 'ch8hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('WorkPoint', 'playThaiLiveTV&url=http://edge7-03.thaimediaserver.com/chliveWorkpoint/liveWorkPointstream_20150924/playlist.m3u8&name=WORKPOINT&image=workpoint.jpg', 'workpoint.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('WorkPoint Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chworkpointHD&name=WORKPOINT_HD&image=workpoint.jpg', 'workpoint.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('MCOT', 'playThaiLiveTV&url=http://edge4-06.thaimediaserver.com/chlive9/live9stream_20150924/playlist.m3u8&name=MCOT_HD&image=ch9hd.png', 'ch9hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('MCOT Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chmcothd&name=MCOT_HD&image=ch9hd.png', 'ch9hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('NBT', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chliveNBT/liveNBTstream_20150924/playlist.m3u8&name=NBT&image=nbt.png', 'nbt.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('TPBS', 'playThaiLiveTV&url=http://edge4-01.thaimediaserver.com/chliveTPBS/liveTPBSstream_20150924/playlist.m3u8&name=TPBS&image=tbps.png', 'tpbs.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('ONE', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chliveGmmOne/liveGmmOnestream_20150924/playlist.m3u8&name=ONE_HD&image=ch1hd.png', 'ch1hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('ONE Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chonehd&name=ONE_HD&image=ch1hd.png', 'ch1hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('PPTV', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chpptv1&name=PPTV_HD&image=chpptvhd.png', 'chpptvhd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('NOW26', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chnow261&name=PPTV_HD&image=chnow26hd.jpg', 'chnow26hd.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('GMM', 'playThaiLiveTV&url=http://edge4-03.thaimediaserver.com/chliveGreen/liveGreenstream_20150924/playlist.m3u8&name=GMM&image=gmm.png', 'gmm.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('Keera', 'playThaiLiveTV&url=http://edge7-03.thaimediaserver.com/chliveKeera/liveKeerastream_20150924/playlist.m3u8&name=Keera&image=keera.png', 'keera.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('Nation', 'playThaiLiveTV&url=http://edge7-04.thaimediaserver.com/chliveNationNews/liveNationstream_20150924/playlist.m3u8&name=Nation&image=nation.png', 'nation.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem('Thairath', 'playThaiLiveTV&url=http://edge4-05.thaimediaserver.com/chliveThaiRath/liveThaiRathstream_20150924/playlist.m3u8&name=Nation&image=thairath.png', 'thairath.png', 'DefaultMovies.png', isFolder=False) self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def addDirectory(self, items): if items == None or len(items) == 0: return sysaddon = sys.argv[0] addonFanart = control.addonFanart() addonThumb = control.addonThumb() artPath = 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 = [] #try: cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowsToLibrary&url=%s)' % (sysaddon, urllib.quote_plus(i['context'])))) #except: pass 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 views.setView('tvshows', {'skin.confluence': control.viewMode['mediainfo1']}) control.directory(int(sys.argv[1]), cacheToDisc=True)
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.libraries import views views.setView(content, {}) except: return
def endDirectory(content, close): if content in ['movies', 'tvshows', 'seasons', 'episodes']: control.content(int(sys.argv[1]), content) if close == True: control.directory(int(sys.argv[1]), cacheToDisc=True) if close == True and content in ['movies', 'tvshows', 'seasons', 'episodes']: views.setView(content)
def endDirectory(content, close): if content in ['movies', 'tvshows', 'seasons', 'episodes']: control.content(int(sys.argv[1]), content) if close == True: control.directory(int(sys.argv[1]), cacheToDisc=True) if close == True and content in [ 'movies', 'tvshows', 'seasons', 'episodes' ]: views.setView(content)
def channelDirectory(self, items): if items == None or len(items) == 0: return addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart = control.addonFanart() sysaddon = sys.argv[0] for i in items: try: label = "%s" % (i['name']) sysname = urllib.quote_plus(i['name']) poster, banner, direct = i['poster'], i['poster'], i['direct'] try :provider=i['provider'] except:provider=None if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster url = i['url'] if not direct: content = 'live' meta = {"poster":poster, "iconImage":poster} source = {"provider":provider, "url":url, "quality":'HD', "label":'Resolving %s' % label, "source":provider, "meta":json.dumps(meta)} syssource = urllib.quote_plus(json.dumps([source])) url = 'action=playItem&content=%s&name=%s&source=%s' % (content, sysname, syssource) url = '%s?%s' % (sysaddon, url) 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.setProperty('Video', 'true') item.setProperty("IsPlayable", "true") item.addContextMenuItems([], replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) except: pass control.content(int(sys.argv[1]), 'video') control.directory(int(sys.argv[1]), cacheToDisc=False) views.setView('movies', {'skin.confluence': 500})
def thaiShows2(self): self.addDirectoryItem('Thai Drama (on air)', 'listShows2&catid=8&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2015)', 'listShows2&catid=287&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2014)', 'listShows2&catid=70&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2013)', 'listShows2&catid=49&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2012)', 'listShows2&catid=47&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2011)', 'listShows2&catid=46&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2010)', 'listShows2&catid=45&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2009)', 'listShows2&catid=44&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2008)', 'listShows2&catid=43&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (classic)', 'listShows2&catid=42&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('K-J Series', 'listShows2&catid=10&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('C-T Series', 'listShows2&catid=11&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('K-J Series (Thai Dub)', 'listShows2&catid=41&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Breaking News', 'listShows2&catid=19&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Entertainment News', 'listShows2&catid=20&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('News Analysis', 'listShows2&catid=21&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Talk Show', 'listShows2&catid=24&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Variety Show', 'listShows2&catid=25&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Game - Quiz', 'listShows2&catid=26&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Food - Health', 'listShows2&catid=27&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Sport', 'listShows2&catid=28&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Travel', 'listShows2&catid=29&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Doumentary', 'listShows2&catid=30&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Movies', 'listShows2&catid=12&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Movies Classic', 'listShows2&catid=50&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Chinese Movies', 'listShows2&catid=51&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Korean Movies', 'listShows2&catid=52&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Japanese Movies', 'listShows2&catid=53&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Indian Movies', 'listShows2&catid=54&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Other Movies', 'listShows2&catid=55&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Sitcoms', 'listShows2&catid=22&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Comedy', 'listShows2&catid=23&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Music TV', 'listShows2&catid=14&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Singing Contest', 'listShows2&catid=15&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Concert', 'listShows2&catid=16&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Local Theater', 'listShows2&catid=17&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Karaoke', 'listShows2&catid=18&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon (on air)', 'listShows2&catid=64&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Sports', 'listShows2&catid=65&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Action/Adventure', 'listShows2&catid=66&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Girl Cartoon', 'listShows2&catid=67&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Investigation', 'listShows2&catid=68&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Other Cartoon', 'listShows2&catid=69&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Contest', 'listShows2&catid=31&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Study Languages', 'listShows2&catid=32&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Kid', 'listShows2&catid=33&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Dhamma', 'listShows2&catid=34&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Special Show', 'listShows2&catid=35&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('18+', 'listShows2&catid=36&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def makelist(self): html = client.request(self.host) html = client.replaceHTMLCodes(html) items = re.findall('channels="(\[.+?\])"', html)[0] items = json.loads(items) for i in items: if i['alive']: name = i['display_name'].replace('_', ' ').replace('-', ' ') link = self.url % (i['slug']) url = 'watchLiveTV&url=%s&name=%s' % (link, name) print name print url self.addDirectoryItem(name, url, 'root_livetv.png', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def bollywood(self): url = 'http://www.join4films.com' html = client.request(url) r = client.parseDOM(html, 'ul', attrs={'class': 'sub-menu'}) r = client.parseDOM(r, 'li') url = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r] url = [(i[0][0], i[1][0]) for i in url if len(i[0]) > 0 and len(i[1]) > 0] del url[-2:] for i in url: link = i[0] title = i[1] self.addDirectoryItem(title, 'listBollywood&url=%s&page=%d' % (link, 1), 'DefaultMovies.jpg', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def channelDirectory(self, items): if items == None or len(items) == 0: return addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart = control.addonFanart() sysaddon = sys.argv[0] for i in items: try: label = "%s" % (i['name']) sysname = urllib.quote_plus(i['name']) poster, banner = i['poster'], i['poster'] if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster url = i['url'] 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.setProperty('Video', 'true') item.addContextMenuItems([], replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) except: pass control.content(int(sys.argv[1]), 'video') control.directory(int(sys.argv[1]), cacheToDisc=False) views.setView('movies', {'skin.confluence': 500})
def tvshowDirectory(self, items): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder traktMode = False if trakt.getTraktCredentials() == False else True addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] try: favitems = favourites.getFavourites('tvshows') favitems = [i[0] for i in favitems] except: pass try: if traktMode == False: raise Exception() indicators = trakt.syncTVShows(timeout=720) indicators = json.loads(indicators) except: pass for i in items: try: label = i['name'] systitle = sysname = urllib.quote_plus(i['title']) sysimage = urllib.quote_plus(i['poster']) imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'] poster, banner, fanart = i['poster'], i['banner'], i['fanart'] 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage) try: if traktMode == False: raise Exception() match = [i for i in indicators if str(i['show']['ids']['tvdb']) == tvdb][0] num_1 = 0 for i in range(0, len(match['seasons'])): num_1 += len(match['seasons'][i]['episodes']) num_2 = int(match['show']['aired_episodes']) if num_1 >= num_2: meta.update({'playcount': 1, 'overlay': 7}) except: pass cm = [] if isFolder == False: cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)')) if not action == 'tvSearch': cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb))) cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb))) if traktMode == True: cm.append((control.lang(30236).encode('utf-8'), 'RunPlugin(%s?action=traktManager&name=%s&tvdb=%s&content=tvshow)' % (sysaddon, sysname, tvdb))) if action == 'tvFavourites': cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) elif action.startswith('tvSearch'): cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta))) else: if not imdb in favitems: cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) else: cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon)) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass try: url = items[0]['next'] if url == '': raise Exception() url = '%s?action=tvshows&url=%s' % (sysaddon, urllib.quote_plus(url)) addonNext = control.addonNext() item = control.item(label=control.lang(30241).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext) item.addContextMenuItems([], 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.content(int(sys.argv[1]), 'tvshows') control.directory(int(sys.argv[1]), cacheToDisc=True) views.setView('tvshows', {'skin.confluence': 500})
def thaiShows2(self): self.addDirectoryItem('Thai Drama (on air)', 'listShows2&catid=8&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem( 'Thai Drama (2015)', 'listShows2&catid=287&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2014)', 'listShows2&catid=70&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2013)', 'listShows2&catid=49&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2012)', 'listShows2&catid=47&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2011)', 'listShows2&catid=46&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2010)', 'listShows2&catid=45&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2009)', 'listShows2&catid=44&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (2008)', 'listShows2&catid=43&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Drama (classic)', 'listShows2&catid=42&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('K-J Series', 'listShows2&catid=10&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('C-T Series', 'listShows2&catid=11&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('K-J Series (Thai Dub)', 'listShows2&catid=41&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Breaking News', 'listShows2&catid=19&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Entertainment News', 'listShows2&catid=20&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('News Analysis', 'listShows2&catid=21&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Talk Show', 'listShows2&catid=24&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Variety Show', 'listShows2&catid=25&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Game - Quiz', 'listShows2&catid=26&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Food - Health', 'listShows2&catid=27&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Sport', 'listShows2&catid=28&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Travel', 'listShows2&catid=29&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Doumentary', 'listShows2&catid=30&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Movies', 'listShows2&catid=12&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Thai Movies Classic', 'listShows2&catid=50&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Chinese Movies', 'listShows2&catid=51&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Korean Movies', 'listShows2&catid=52&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Japanese Movies', 'listShows2&catid=53&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Indian Movies', 'listShows2&catid=54&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Other Movies', 'listShows2&catid=55&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Sitcoms', 'listShows2&catid=22&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Comedy', 'listShows2&catid=23&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Music TV', 'listShows2&catid=14&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Singing Contest', 'listShows2&catid=15&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Concert', 'listShows2&catid=16&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Local Theater', 'listShows2&catid=17&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Karaoke', 'listShows2&catid=18&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon (on air)', 'listShows2&catid=64&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Sports', 'listShows2&catid=65&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Action/Adventure', 'listShows2&catid=66&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Girl Cartoon', 'listShows2&catid=67&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Cartoon Investigation', 'listShows2&catid=68&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Other Cartoon', 'listShows2&catid=69&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Contest', 'listShows2&catid=31&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Study Languages', 'listShows2&catid=32&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Kid', 'listShows2&catid=33&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Dhamma', 'listShows2&catid=34&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('Special Show', 'listShows2&catid=35&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.addDirectoryItem('18+', 'listShows2&catid=36&page=1&limit=64&channel=0', '', 'DefaultMovies.png') self.endDirectory() views.setView('movies', {'skin.confluence': 50})
def episodeDirectory(self, items, provider=None): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder playbackMenu = control.lang(30271).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30270).encode('utf-8') cacheToDisc = False addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] try: multi = [i['tvshowtitle'] for i in items] except: multi = [] multi = len([x for y,x in enumerate(multi) if x not in multi[:y]]) multi = True if multi > 1 else False try: sysaction = items[0]['action'] except: sysaction = '' for i in items: try: try : if i['title'] == '0': label = '%sx%02d . %s %s' % (i['season'], int(i['episode']), 'Episode', i['episode']) else: label = '%sx%02d . %s' % (i['season'], int(i['episode']), i['title']) except: label = i['title'] if multi == True: label = '%s - %s' % (i['tvshowtitle'], label) systitle = sysname = urllib.quote_plus(i['tvshowtitle']) episodetitle, episodename = urllib.quote_plus(i['title']), urllib.quote_plus(i['name']) syspremiered = urllib.quote_plus(i['premiered']) imdb, tmdb, tvdb, tvrage, year, season, episode, alter = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'], i['season'], i['episode'], i['alter'] poster, banner, fanart, thumb = i['poster'], i['banner'], i['fanart'], i['thumb'] if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster if thumb == '0' and fanart == '0': thumb = addonFanart elif thumb == '0': thumb = fanart 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&t=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, self.systime) sysurl = urllib.quote_plus(url) if isFolder == True: url = '%s?action=sources&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&provider=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, provider) if sysaction == 'episodes': url = '%s?action=episodes&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage, season, episode) isFolder = True ; cacheToDisc = True cm = [] cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta))) if isFolder == False: cm.append((control.lang(30261).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) cm.append((control.lang(30272).encode('utf-8'), 'Action(Info)')) if multi == True: cm.append((control.lang(30274).encode('utf-8'), 'ActivateWindow(Videos,%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s,return)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30263).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=7)' % (sysaddon, imdb, tvdb, season, episode))) cm.append((control.lang(30264).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=6)' % (sysaddon, imdb, tvdb, season, episode))) #cm.append((control.lang(30268).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30273).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon)) item = control.item(label=label, iconImage=thumb, thumbnailImage=thumb) try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') #item.setProperty('IsPlayable', 'true') item.setProperty('resumetime',str(0)) item.setProperty('totaltime',str(1)) item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=isFolder) except: pass try: url = items[0]['next'] if url == '': raise Exception() url = '%s?action=episodes&tvshowtitle=%s&url=%s&provider=%s' % (sysaddon, systitle, urllib.quote_plus(url), provider) addonNext = control.addonNext() item = control.item(label=control.lang(30213).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext) item.addContextMenuItems([], 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.content(int(sys.argv[1]), 'episodes') control.directory(int(sys.argv[1]), cacheToDisc=cacheToDisc) views.setView('episodes', {'skin.confluence': 504})
def tvshowDirectory(self, items): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] for i in items: try: label = i['name'] systitle = sysname = urllib.quote_plus(i['title']) sysimage = urllib.quote_plus(i['poster']) imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'] try :sysurl, sysprovider = urllib.quote_plus(i['url']), i['provider'] except:pass poster, banner, fanart = i['poster'], i['banner'], i['fanart'] 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) action = 'episodes' #if not (tvdb == '0' or tvdb == 'None'): # action = 'seasons' url = '%s?action=%s&provider=%s&url=%s&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % (sysaddon, action, sysprovider, sysurl, systitle, year, imdb, tmdb, tvdb, tvrage) cm = [] if isFolder == False: cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) #cm.append((control.lang(30214).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname))) cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)')) if not action == 'tvSearch': cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb))) cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb))) #if action == 'tvFavourites': # cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) #elif action.startswith('tvSearch'): # cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta))) #cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon)) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass control.content(int(sys.argv[1]), 'tvshows') views.setView('tvshows', {'skin.confluence': control.viewMode['mediainfo1']}) control.directory(int(sys.argv[1]), cacheToDisc=True)
def movieDirectory(self, items, provider=None, lang=None): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder playbackMenu = control.lang(30204).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30203).encode('utf-8') cacheToDisc = False if not action == 'movieSearch' else True addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] try: from metahandler import metahandlers metaget = metahandlers.MetaData(tmdb_api_key=self.tmdb_key, preparezip=False) except: pass for i in items: try: label = i['name'] sysname = urllib.quote_plus(label) systitle = urllib.quote_plus(i['title']) imdb, tmdb, year = i['imdb'], i['tmdb'], i['year'] poster, banner, fanart = i['poster'], i['banner'], i['fanart'] 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&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&meta=%s&t=%s' % (sysaddon, sysname, systitle, year, imdb, tmdb, sysmeta, self.systime) sysurl = urllib.quote_plus(url) if isFolder == True: url = '%s?action=sources&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&meta=%s' % (sysaddon, sysname, systitle, year, imdb, tmdb, sysmeta) try: playcount = metaget._get_watched('movie', imdb, '', '') if playcount == 7: meta.update({'playcount': 1, 'overlay': 7}) else: meta.update({'playcount': 0, 'overlay': 6}) except: pass cm = [] cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta))) cm.append((control.lang(30214).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname))) cm.append((control.lang(30205).encode('utf-8'), 'Action(Info)')) if not action == 'movieSearch': cm.append((control.lang(30206).encode('utf-8'), 'RunPlugin(%s?action=moviePlaycount&title=%s&year=%s&imdb=%s&query=7)' % (sysaddon, systitle, year, imdb))) cm.append((control.lang(30207).encode('utf-8'), 'RunPlugin(%s?action=moviePlaycount&title=%s&year=%s&imdb=%s&query=6)' % (sysaddon, systitle, year, imdb)))# cm.append((control.lang(30212).encode('utf-8'), 'RunPlugin(%s?action=addView&content=movies)' % sysaddon)) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({'poster': poster, 'banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif 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=isFolder) except: pass try: url = items[0]['next'] if url == '': raise Exception() url = '%s?action=movies&url=%s&provider=%s&lang=%s' % (sysaddon, urllib.quote_plus(url), provider, lang) addonNext = control.addonNext() item = control.item(label=control.lang(30213).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext) item.addContextMenuItems([], 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.content(int(sys.argv[1]), 'movies') views.setView('movies', {'skin.confluence': control.viewMode['thumbnails']}) control.directory(int(sys.argv[1]), cacheToDisc=cacheToDisc)
def seasonDirectory(self, items): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] for i in items: try: label = '%s %s' % ('Season', i['season']) systitle = sysname = urllib.quote_plus(i['tvshowtitle']) imdb, tmdb, tvdb, tvrage, year, season = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'], i['season'] poster, banner, fanart, thumb = i['poster'], i['banner'], i['fanart'], i['thumb'] if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster if thumb == '0' and poster == '0': thumb = addonPoster elif thumb == '0': thumb = 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=episodes&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage, season) cm = [] if isFolder == False: cm.append((control.lang(30261).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) cm.append((control.lang(30262).encode('utf-8'), 'Action(Info)')) cm.append((control.lang(30263).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&season=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb, season))) cm.append((control.lang(30264).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&season=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb, season))) #cm.append((control.lang(30267).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) #cm.append((control.lang(30268).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30269).encode('utf-8'), 'RunPlugin(%s?action=addView&content=seasons)' % sysaddon)) item = control.item(label=label, iconImage=thumb, thumbnailImage=thumb) try: item.setArt({'poster': thumb, 'tvshow.poster': poster, 'season.poster': thumb, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass try: control.property(int(sys.argv[1]), 'showplot', items[0]['plot']) except: pass control.content(int(sys.argv[1]), 'seasons') control.directory(int(sys.argv[1]), cacheToDisc=True) views.setView('seasons', {'skin.confluence': 500})
def channelDirectory(self, items): if items == None or len(items) == 0: return addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart = control.addonFanart() sysaddon = sys.argv[0] for i in items: try: label = "%s" % (i['name']) sysname = urllib.quote_plus(i['name']) poster, banner, direct = i['poster'], i['poster'], i['direct'] try: provider = i['provider'] except: provider = None if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster url = i['url'] if not direct: content = 'live' meta = {"poster": poster, "iconImage": poster} source = { "provider": provider, "url": url, "quality": 'HD', "label": 'Resolving %s' % label, "source": provider, "meta": json.dumps(meta) } syssource = urllib.quote_plus(json.dumps([source])) url = 'action=playItem&content=%s&name=%s&source=%s' % ( content, sysname, syssource) url = '%s?%s' % (sysaddon, url) 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.setProperty('Video', 'true') item.setProperty("IsPlayable", "true") item.addContextMenuItems([], replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=False) except: pass control.content(int(sys.argv[1]), 'video') control.directory(int(sys.argv[1]), cacheToDisc=False) views.setView('movies', {'skin.confluence': 500})
def episodeDirectory(self, items, provider=None): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder playbackMenu = control.lang(30271).encode('utf-8') if control.setting('autoplay') == 'true' else control.lang(30270).encode('utf-8') cacheToDisc = False addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] try: multi = [i['tvshowtitle'] for i in items] except: multi = [] multi = len([x for y,x in enumerate(multi) if x not in multi[:y]]) multi = True if multi > 1 else False try: sysaction = items[0]['action'] except: sysaction = '' for i in items: try: try : if i['title'] == '0': label = '%sx%02d . %s %s' % (i['season'], int(i['episode']), 'Episode', i['episode']) else: label = '%sx%02d . %s' % (i['season'], int(i['episode']), i['title']) except: label = i['title'] if multi == True: label = '%s - %s' % (i['tvshowtitle'], label) systitle = sysname = urllib.quote_plus(i['tvshowtitle']) episodetitle, episodename = urllib.quote_plus(i['title']), urllib.quote_plus(i['name']) syspremiered = urllib.quote_plus(i['premiered']) imdb, tmdb, tvdb, tvrage, year, season, episode, alter = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'], i['season'], i['episode'], i['alter'] poster, banner, fanart, thumb = i['poster'], i['banner'], i['fanart'], i['thumb'] if poster == '0': poster = addonPoster if banner == '0' and poster == '0': banner = addonBanner elif banner == '0': banner = poster if thumb == '0' and fanart == '0': thumb = addonFanart elif thumb == '0': thumb = fanart 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=play&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&t=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, self.systime) sysurl = urllib.quote_plus(url) if isFolder == True: url = '%s?action=sources&name=%s&title=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s&tvshowtitle=%s&alter=%s&date=%s&meta=%s&provider=%s' % (sysaddon, episodename, episodetitle, year, imdb, tmdb, tvdb, tvrage, season, episode, systitle, alter, syspremiered, sysmeta, provider) if sysaction == 'episodes': url = '%s?action=episodes&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s&season=%s&episode=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage, season, episode) isFolder = True ; cacheToDisc = True cm = [] cm.append((playbackMenu, 'RunPlugin(%s?action=alterSources&url=%s&meta=%s)' % (sysaddon, sysurl, sysmeta))) if isFolder == False: cm.append((control.lang(30261).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) cm.append((control.lang(30272).encode('utf-8'), 'Action(Info)')) if multi == True: cm.append((control.lang(30274).encode('utf-8'), 'ActivateWindow(Videos,%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s,return)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30263).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=7)' % (sysaddon, imdb, tvdb, season, episode))) cm.append((control.lang(30264).encode('utf-8'), 'RunPlugin(%s?action=episodePlaycount&imdb=%s&tvdb=%s&season=%s&episode=%s&query=6)' % (sysaddon, imdb, tvdb, season, episode))) #cm.append((control.lang(30268).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30273).encode('utf-8'), 'RunPlugin(%s?action=addView&content=episodes)' % sysaddon)) item = control.item(label=label, iconImage=thumb, thumbnailImage=thumb) try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') #item.setProperty('IsPlayable', 'true') item.setProperty('resumetime',str(0)) item.setProperty('totaltime',str(1)) item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=isFolder) except: client.printException('episodeDirectory') pass try: url = items[0]['next'] if url == '': raise Exception() url = '%s?action=episodes&tvshowtitle=%s&url=%s&provider=%s' % (sysaddon, systitle, urllib.quote_plus(url), provider) addonNext = control.addonNext() item = control.item(label=control.lang(30213).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext) item.addContextMenuItems([], 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: client.printException('movies.movieDirectory(provider=%s, item=next)' % (provider)) pass control.content(int(sys.argv[1]), 'episodes') control.directory(int(sys.argv[1]), cacheToDisc=cacheToDisc) views.setView('episodes', {'skin.confluence': 504})
def tvshowDirectory(self, items): if items == None or len(items) == 0: return isFolder = True if control.setting('autoplay') == 'false' and control.setting('host_select') == '1' else False isFolder = False if control.window.getProperty('PseudoTVRunning') == 'True' else isFolder traktMode = False if trakt.getTraktCredentials() == False else True addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting('fanart') sysaddon = sys.argv[0] try: favitems = favourites.getFavourites('tvshows') favitems = [i[0] for i in favitems] except: pass try: if traktMode == False: raise Exception() indicators = trakt.syncTVShows(timeout=720) indicators = json.loads(indicators) except: pass for i in items: try: label = i['name'] systitle = sysname = urllib.quote_plus(i['title']) sysimage = urllib.quote_plus(i['poster']) imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i['tvdb'], i['tvrage'], i['year'] poster, banner, fanart = i['poster'], i['banner'], i['fanart'] 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) url = '%s?action=seasons&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage) try: if traktMode == False: raise Exception() match = [i for i in indicators if str(i['show']['ids']['tvdb']) == tvdb][0] num_1 = 0 for i in range(0, len(match['seasons'])): num_1 += len(match['seasons'][i]['episodes']) num_2 = int(match['show']['aired_episodes']) if num_1 >= num_2: meta.update({'playcount': 1, 'overlay': 7}) except: pass cm = [] if isFolder == False: cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) cm.append((control.lang(30233).encode('utf-8'), 'Action(Info)')) if not action == 'tvSearch': cm.append((control.lang(30234).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb))) cm.append((control.lang(30235).encode('utf-8'), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb))) if traktMode == True: cm.append((control.lang(30236).encode('utf-8'), 'RunPlugin(%s?action=traktManager&name=%s&tvdb=%s&content=tvshow)' % (sysaddon, sysname, tvdb))) if action == 'tvFavourites': cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) elif action.startswith('tvSearch'): cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta))) else: if not imdb in favitems and not tvdb in favitems: cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) else: cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon)) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner}) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels = meta) item.setProperty('Video', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass try: url = items[0]['next'] if url == '': raise Exception() url = '%s?action=tvshows&url=%s' % (sysaddon, urllib.quote_plus(url)) addonNext = control.addonNext() item = control.item(label=control.lang(30241).encode('utf-8'), iconImage=addonNext, thumbnailImage=addonNext) item.addContextMenuItems([], 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.content(int(sys.argv[1]), 'tvshows') control.directory(int(sys.argv[1]), cacheToDisc=True) views.setView('tvshows', {'skin.confluence': 500})
def thaiLiveTV(self): # live4 is asia, uk99 is uk self.addDirectoryItem( '3HD', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chlive3/live3stream_720p_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '3SD', 'playThaiLiveTV&url=http://edge4-03.thaimediaserver.com/chlive3sd/live3sd_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '3Family', 'playThaiLiveTV&url=http://edge4-10.thaimediaserver.com/chlive3family/live3family_20150924/playlist.m3u8&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '3HD Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch3hd&name=3HD&image=ch3hd.png', 'ch3hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '5', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chlive5/live5stream_20150924/playlist.m3u8&name=5&image=ch5hd.png', 'ch5hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '5 Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch5hd&name=5HD&image=ch5hd.png', 'ch5hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '7HD', 'playThaiLiveTV&url=http://edge4-09.thaimediaserver.com/chlive7/live7stream_720p_20150924/playlist.m3u8&name=7HD&image=ch7hd.png', 'ch7hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '7HD Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/ch7hd&name=7HD&image=ch7hd.png', 'ch7hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '8', 'playThaiLiveTV&url=http://edge3-04.thaimediaserver.com/chlive8/live8stream_20150924/playlist.m3u8&name=8HD&image=ch8hd.png', 'ch8hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( '8 Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/cheight1&name=8HD&image=ch8hd.png', 'ch8hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'WorkPoint', 'playThaiLiveTV&url=http://edge7-03.thaimediaserver.com/chliveWorkpoint/liveWorkPointstream_20150924/playlist.m3u8&name=WORKPOINT&image=workpoint.jpg', 'workpoint.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'WorkPoint Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chworkpointHD&name=WORKPOINT_HD&image=workpoint.jpg', 'workpoint.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'MCOT', 'playThaiLiveTV&url=http://edge4-06.thaimediaserver.com/chlive9/live9stream_20150924/playlist.m3u8&name=MCOT_HD&image=ch9hd.png', 'ch9hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'MCOT Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chmcothd&name=MCOT_HD&image=ch9hd.png', 'ch9hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'NBT', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chliveNBT/liveNBTstream_20150924/playlist.m3u8&name=NBT&image=nbt.png', 'nbt.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'TPBS', 'playThaiLiveTV&url=http://edge4-01.thaimediaserver.com/chliveTPBS/liveTPBSstream_20150924/playlist.m3u8&name=TPBS&image=tbps.png', 'tpbs.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'ONE', 'playThaiLiveTV&url=http://edge4-04.thaimediaserver.com/chliveGmmOne/liveGmmOnestream_20150924/playlist.m3u8&name=ONE_HD&image=ch1hd.png', 'ch1hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'ONE Alternative', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chonehd&name=ONE_HD&image=ch1hd.png', 'ch1hd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'PPTV', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chpptv1&name=PPTV_HD&image=chpptvhd.png', 'chpptvhd.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'NOW26', 'playThaiLiveTV&url=rtmp://uk99.seesantv.com/as99/chnow261&name=PPTV_HD&image=chnow26hd.jpg', 'chnow26hd.jpg', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'GMM', 'playThaiLiveTV&url=http://edge4-03.thaimediaserver.com/chliveGreen/liveGreenstream_20150924/playlist.m3u8&name=GMM&image=gmm.png', 'gmm.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'Keera', 'playThaiLiveTV&url=http://edge7-03.thaimediaserver.com/chliveKeera/liveKeerastream_20150924/playlist.m3u8&name=Keera&image=keera.png', 'keera.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'Nation', 'playThaiLiveTV&url=http://edge7-04.thaimediaserver.com/chliveNationNews/liveNationstream_20150924/playlist.m3u8&name=Nation&image=nation.png', 'nation.png', 'DefaultMovies.png', isFolder=False) self.addDirectoryItem( 'Thairath', 'playThaiLiveTV&url=http://edge4-05.thaimediaserver.com/chliveThaiRath/liveThaiRathstream_20150924/playlist.m3u8&name=Nation&image=thairath.png', 'thairath.png', 'DefaultMovies.png', isFolder=False) self.endDirectory() views.setView('movies', {'skin.confluence': 50})
# Start 1080p movies elif action == '1080p': from resources.lib.indexers import phstreams phstreams.getDirectory( 'http://zenica.watchkodi.com/Movies/1080p%20Movies.xml') # End 1080p movies # Start cartoons elif action == 'cartoons': from resources.lib.indexers import phtoons phtoons.indexer().root() elif action == 'phtoons.cartoons': from resources.lib.libraries import views from resources.lib.indexers import phtoons phtoons.indexer().cartoons(url) views.setView('movies', {'skin.confluence': 500}) elif action == 'phtoons.cartoongenres': from resources.lib.indexers import phtoons phtoons.indexer().cartoongenres() elif action == 'phtoons.cartoonstreams': from resources.lib.indexers import phtoons fanart = '' phtoons.indexer().cartoonstreams(url, image, fanart) elif action == 'phtoons.cartoonplay': from resources.lib.indexers import phtoons phtoons.indexer().cartoonplay(url) elif action == 'phtoons.anime':
# Start 1080p movies elif action == '1080p': from resources.lib.indexers import phstreams phstreams.getDirectory('http://zenica.watchkodi.com/Movies/1080p%20Movies.xml') # End 1080p movies # Start cartoons elif action == 'cartoons': from resources.lib.indexers import phtoons phtoons.indexer().root() elif action == 'phtoons.cartoons': from resources.lib.libraries import views from resources.lib.indexers import phtoons phtoons.indexer().cartoons(url) views.setView('movies', {'skin.confluence': 500}) elif action == 'phtoons.cartoongenres': from resources.lib.indexers import phtoons phtoons.indexer().cartoongenres() elif action == 'phtoons.cartoonstreams': from resources.lib.indexers import phtoons fanart = '' phtoons.indexer().cartoonstreams(url, image, fanart) elif action == 'phtoons.cartoonplay': from resources.lib.indexers import phtoons phtoons.indexer().cartoonplay(url) elif action == 'phtoons.anime':
def endDirectory(self, cacheToDisc=True): views.setView('movies', {'skin.confluence': control.viewMode['thumbnails']}) control.directory(int(sys.argv[1]), cacheToDisc=cacheToDisc)
def tvshowDirectory(self, items): if items == None or len(items) == 0: return isFolder = True if control.setting( 'autoplay') == 'false' and control.setting( 'host_select') == '1' else False isFolder = False if control.window.getProperty( 'PseudoTVRunning') == 'True' else isFolder addonPoster, addonBanner = control.addonPoster(), control.addonBanner() addonFanart, settingFanart = control.addonFanart(), control.setting( 'fanart') sysaddon = sys.argv[0] for i in items: try: label = i['name'] systitle = sysname = urllib.quote_plus(i['title']) sysimage = urllib.quote_plus(i['poster']) imdb, tmdb, tvdb, tvrage, year = i['imdb'], i['tmdb'], i[ 'tvdb'], i['tvrage'], i['year'] try: sysurl, sysprovider = urllib.quote_plus( i['url']), i['provider'] except: pass poster, banner, fanart = i['poster'], i['banner'], i['fanart'] 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': '60'}) try: meta.update({'duration': str(int(meta['duration']) * 60)}) except: pass sysmeta = urllib.quote_plus(json.dumps(meta)) action = 'episodes' #if not (tvdb == '0' or tvdb == 'None'): # action = 'seasons' url = '%s?action=%s&provider=%s&url=%s&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s' % ( sysaddon, action, sysprovider, sysurl, systitle, year, imdb, tmdb, tvdb, tvrage) cm = [] if isFolder == False: cm.append((control.lang(30232).encode('utf-8'), 'RunPlugin(%s?action=queueItem)' % sysaddon)) #cm.append((control.lang(30214).encode('utf-8'), 'RunPlugin(%s?action=trailer&name=%s)' % (sysaddon, sysname))) cm.append( (control.lang(30233).encode('utf-8'), 'Action(Info)')) if not action == 'tvSearch': cm.append((control.lang(30234).encode( 'utf-8' ), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=7)' % (sysaddon, systitle, year, imdb, tvdb))) cm.append((control.lang(30235).encode( 'utf-8' ), 'RunPlugin(%s?action=tvPlaycount&name=%s&year=%s&imdb=%s&tvdb=%s&query=6)' % (sysaddon, systitle, year, imdb, tvdb))) #if action == 'tvFavourites': # cm.append((control.lang(30238).encode('utf-8'), 'RunPlugin(%s?action=deleteFavourite&meta=%s&content=tvshows)' % (sysaddon, sysmeta))) #elif action.startswith('tvSearch'): # cm.append((control.lang(30237).encode('utf-8'), 'RunPlugin(%s?action=addFavourite&meta=%s&query=0&content=tvshows)' % (sysaddon, sysmeta))) #cm.append((control.lang(30239).encode('utf-8'), 'RunPlugin(%s?action=tvshowToLibrary&tvshowtitle=%s&year=%s&imdb=%s&tmdb=%s&tvdb=%s&tvrage=%s)' % (sysaddon, systitle, year, imdb, tmdb, tvdb, tvrage))) cm.append((control.lang(30240).encode('utf-8'), 'RunPlugin(%s?action=addView&content=tvshows)' % sysaddon)) item = control.item(label=label, iconImage=poster, thumbnailImage=poster) try: item.setArt({ 'poster': poster, 'tvshow.poster': poster, 'season.poster': poster, 'banner': banner, 'tvshow.banner': banner, 'season.banner': banner }) except: pass if settingFanart == 'true' and not fanart == '0': item.setProperty('Fanart_Image', fanart) elif not addonFanart == None: item.setProperty('Fanart_Image', addonFanart) item.setInfo(type='Video', infoLabels=meta) item.setProperty('Video', 'true') item.addContextMenuItems(cm, replaceItems=True) control.addItem(handle=int(sys.argv[1]), url=url, listitem=item, isFolder=True) except: pass control.content(int(sys.argv[1]), 'tvshows') views.setView('tvshows', {'skin.confluence': control.viewMode['mediainfo1']}) control.directory(int(sys.argv[1]), cacheToDisc=True)