def addToLibrary(play): Addon.log('Add to library: %s' % play) folder = Addon.get_setting('library_folder') if folder == '': d = xbmcgui.Dialog() d.ok( Addon.get_string(30300), 'You have not set the library folder.\nPlease update the addon settings and try again.', '', '') Addon.addon.openSettings(sys.argv[0]) folder = Addon.get_setting('library_folder') if folder == '': return if Addon.get_setting('download_hq') == 'true': #fix for old versions hq = '720p' else: hq = Addon.get_setting('hq') title = play.rsplit('@', 1)[0] assetID = play.rsplit('@', 1)[1] stream_url = muzu.resolve_stream(assetID, hq) #try and match artist and track name artist, track = getArtistAndTrack(title) kb = xbmc.Keyboard(artist, 'Enter Artist...') kb.doModal() if not kb.isConfirmed(): return artist = clean(kb.getText()) kb = xbmc.Keyboard(track, 'Enter Track...') kb.doModal() if not kb.isConfirmed(): return track = clean(kb.getText()) if track == '' and artist == '': return path = os.path.join(folder, artist + ' - ' + track) if not os.path.exists(path): os.mkdir(path) filename = os.path.join(path, track + '.strm') strm = stream_url f = open(filename, "w") f.write(strm) f.close()
def addToLibrary(play): Addon.log('Add to library: %s' % play) folder = Addon.get_setting('library_folder') if folder == '': d = xbmcgui.Dialog() d.ok(Addon.get_string(30300),'You have not set the library folder.\nPlease update the addon settings and try again.','','') Addon.addon.openSettings(sys.argv[0]) folder = Addon.get_setting('library_folder') if folder == '': return if Addon.get_setting('download_hq') == 'true': #fix for old versions hq = '720p' else: hq = Addon.get_setting('hq') title = play.rsplit('@', 1)[0] assetID = play.rsplit('@', 1)[1] stream_url = muzu.resolve_stream(assetID, hq) #try and match artist and track name artist, track = getArtistAndTrack(title) kb = xbmc.Keyboard(artist, 'Enter Artist...' ) kb.doModal() if not kb.isConfirmed(): return artist = clean(kb.getText()) kb = xbmc.Keyboard(track, 'Enter Track...' ) kb.doModal() if not kb.isConfirmed(): return track = clean(kb.getText()) if track == '' and artist == '': return path = os.path.join(folder, artist + ' - ' + track) if not os.path.exists(path): os.mkdir(path) filename = os.path.join(path, track+'.strm') strm = stream_url f = open(filename, "w") f.write(strm) f.close()
def downloadPath(title, stream_url): if not stream_url or stream_url == '': return None downloadFolder = Addon.get_setting('download_folder') if Addon.get_setting('ask_folder') == 'true': dialog = xbmcgui.Dialog() downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder) if downloadFolder == '': return None if downloadFolder is '': d = xbmcgui.Dialog() d.ok( Addon.get_string(30300), 'You have not set the default download folder.\nPlease update the addon settings and try again.', '', '') Addon.addon.openSettings(sys.argv[0]) downloadFolder = Addon.get_setting('download_folder') if downloadFolder == '' and Addon.get_setting('ask_folder') == 'true': dialog = xbmcgui.Dialog() downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder) if downloadFolder == '': return None filename = stream_url filename = filename.rsplit('/', 1)[1] filename = filename.rsplit('?', 1)[0] ext = filename.rsplit('.', 1)[1] if isChart(title): title = title.split(': ', 1)[1] if Addon.get_setting('ask_filename') == 'true': kb = xbmc.Keyboard(title, 'Save video as...') kb.doModal() if kb.isConfirmed(): filename = kb.getText() else: filename = title filename = clean(filename) + '.' + ext return os.path.join(downloadFolder, filename)
def show_streams(title, playlist_id): if mode == title: streams = source.Source().get_streams(playlist_id) if streams: for c in streams: title = c['title'] channel = c['title'] videoId = c['videoId'] img = c['img'] rURL = Addon.plugin_url + "?channel=" + channel + "&videoId=" + videoId + "&mode=play" Addon.add_video_item(rURL, {'title': title}, img=img) elif mode == 'play': videoId = Addon.plugin_queries['videoId'] stream_status = source.Source()._get_json( '/check' + base64.b64decode('LnBocA=='), {'id': videoId})['status'] if stream_status == 'true': stream = "https://www.youtube.com/watch?v=" + videoId stream_url = liveresolver.resolve(stream) item = xbmcgui.ListItem(path=stream_url) xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item) else: dlg.ok(Addon.get_string(5000), Addon.get_string(7000)) exit()
def downloadPath(title, stream_url): if not stream_url or stream_url == '': return None downloadFolder = Addon.get_setting('download_folder') if Addon.get_setting('ask_folder') == 'true': dialog = xbmcgui.Dialog() downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder) if downloadFolder == '' : return None if downloadFolder is '': d = xbmcgui.Dialog() d.ok(Addon.get_string(30300),'You have not set the default download folder.\nPlease update the addon settings and try again.','','') Addon.addon.openSettings(sys.argv[0]) downloadFolder = Addon.get_setting('download_folder') if downloadFolder == '' and Addon.get_setting('ask_folder') == 'true': dialog = xbmcgui.Dialog() downloadFolder = dialog.browse(3, 'Save to folder...', 'files', '', False, False, downloadFolder) if downloadFolder == '' : return None filename = stream_url filename = filename.rsplit('/', 1)[1] filename = filename.rsplit('?', 1)[0] ext = filename.rsplit('.', 1)[1] if isChart(title): title = title.split(': ', 1)[1] if Addon.get_setting('ask_filename') == 'true': kb = xbmc.Keyboard(title, 'Save video as...' ) kb.doModal() if kb.isConfirmed(): filename = kb.getText() else: return None else: filename = title filename = clean(filename) + '.' + ext return os.path.join(downloadFolder, filename)
Addon.plugin_handle = int(sys.argv[1]) Addon.plugin_queries = Addon.parse_query(sys.argv[2][1:]) email = Addon.get_setting('email') password = Addon.get_setting('password') ustv = ustvnow.Ustvnow(email, password) Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] if mode == 'main': Addon.log(mode) Addon.add_directory({'mode': 'live'}, Addon.get_string(30001)) Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002)) elif mode == 'live': Addon.log(mode) stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))] channels = ustv.get_channels(int(Addon.get_setting('quality')), stream_type) for c in channels: Addon.add_video_item( c['url'], { 'title': '%s - %s' % (c['name'], c['now']['title']), 'plot': c['now']['plot'] }, img=c['icon'])
setup = Addon.get_setting('setup') setup_new = Addon.get_setting('setup_new') email = Addon.get_setting('email') password = Addon.get_setting('password') ustv = ustvnow.Ustvnow(email, password) dlg = xbmcgui.Dialog() Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) quality_type = int(Addon.get_setting('quality')) if setup != 'true': dlg.ok(Addon.get_string(30000),Addon.get_string(20002),Addon.get_string(20003)) # Enter Email retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM) if retval and len(retval) > 0: Addon.set_setting('email', str(retval)) email = Addon.get_setting('email') # Enter Password retval = dlg.input(Addon.get_string(20005), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT) if retval and len(retval) > 0: Addon.set_setting('password', str(retval)) password = Addon.get_setting('password') if len(Addon.get_setting('email')) > 0 and len(Addon.get_setting('password')) > 0: Addon.set_setting('setup', 'true') dlg.ok(Addon.get_string(30000), Addon.get_string(200001), Addon.get_string(200000)) else: dlg.ok(Addon.get_string(30000), Addon.get_string(20002),Addon.get_string(20003))
'cid': c['cid'], }, c['title'], img=c['img'], fanart=c['img'], ) if channels['more']: Addon.add_directory( { 'mode': 'list_channels', 'cat': Addon.plugin_queries['cat'], 'genre': Addon.plugin_queries.get('genre', ''), 'type': Addon.plugin_queries.get('type', 'a'), 'page': int(page) + 1, }, Addon.get_string(30000)) if mode == 'list_videos': page = Addon.plugin_queries.get('page', 0) Addon.log('%s: cid=%s page=%s' % (mode, Addon.plugin_queries['cid'], page)) quality = ['360', '480'][int(Addon.get_setting('quality'))] videos = crack.get_videos(Addon.plugin_queries['cid'], quality=quality, page=page) for v in videos['items']: Addon.add_video_item(v['video_url'], { 'title': v['title'], 'plot': v['plot'], 'cast': v['cast'], 'director': v['director'],
else: Addon.set_setting('subscription', 'false') if premium == False: Addon.set_setting('quality_type', '0') quality_type = int(Addon.get_setting('quality_type')) stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))] Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] Addon.log(mode) if mode == 'main': Addon.add_directory({'mode': 'live'}, Addon.get_string(30001)) Addon.add_directory({'mode': 'favorites'}, Addon.get_string(30006)) Addon.add_directory({'mode': 'tvguide'}, Addon.get_string(30007)) if premium == True: Addon.add_directory({'mode': 'scheduled'}, Addon.get_string(30111)) Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002)) elif mode == 'live': channels = ustv.get_channels(quality_type, stream_type, True) if channels: for c in channels: rURL = "plugin://plugin.video.ustvnow/?name=" + c[ 'name'] + "&mode=play" logo = xbmc.translatePath( os.path.join(plugin_path, 'resources', 'images', c['name'] + '.png'))
setup = Addon.get_setting('setup') setup_new = Addon.get_setting('setup_new') email = Addon.get_setting('email') password = Addon.get_setting('password') ustv = ustvnow_plus.Ustvnow(email, password) dlg = xbmcgui.Dialog() Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) quality_type = int(Addon.get_setting('quality')) if setup != 'true': dlg.ok(Addon.get_string(30000), Addon.get_string(20002), Addon.get_string(20003)) # Enter Email retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM) if retval and len(retval) > 0: Addon.set_setting('email', str(retval)) email = Addon.get_setting('email') # Enter Password retval = dlg.input(Addon.get_string(20005), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT) if retval and len(retval) > 0: Addon.set_setting('password', str(retval)) password = Addon.get_setting('password') if len(Addon.get_setting('email')) > 0 and len( Addon.get_setting('password')) > 0:
'mix_name': mix['name'], 'img': mix['cover_urls']['max200'], 'user': mix['user']['login'] }, name, mix['cover_urls']['max200'], folder=False) if result['next_page']: Addon.add_directory( { 'mode': 'mixes', 'sort': sort, 'tag': tag, 'search': search, 'page': result['next_page'] }, Addon.get_string(30015)) else: if search: kb = xbmc.Keyboard('', Addon.get_string(30017), False) kb.doModal() if (kb.isConfirmed()): search = kb.getText() if mytag: kb = xbmc.Keyboard('', Addon.get_string(30018), False) kb.doModal() if (kb.isConfirmed()): tag = kb.getText() Addon.add_directory( { 'mode': 'mixes',
mode = Addon.plugin_queries['mode'] quality = int(Addon.get_setting('quality')) if mode == 'main': channels = tvtime.TVtime().get_channels(quality) if channels: for c in channels: channel = c['channel']; rURL = "plugin://plugin.video.tvtime.tva/?channel=" + channel + "&mode=play&rand=" + Addon.random_generator() logo = xbmc.translatePath(os.path.join(plugin_path, 'resources', 'images', 'logos', c['channel']+'.png')) title = c["title"].replace("&", "&").replace('"','"'); title = title.replace("&", "&"); title = '%s - %s' % (Addon.cleanChannel(channel), title) cm_refresh = (Addon.get_string(40000), 'XBMC.RunPlugin(%s/?mode=refresh)' % (Addon.plugin_url)) cm_menu = [cm_refresh] if quality == 3 and channel != 'PBS' and channel != 'My9': quality_name = 'High'; elif quality == 2 and channel != 'PBS' and channel != 'My9': quality_name = 'High'; elif quality == 1 and channel != 'PBS' and channel != 'My9': quality_name = 'Medium'; else: quality_name = 'Low'; Addon.add_video_item(rURL, {'title': title}, img=logo, playable=True, HD=quality_name, cm=cm_menu, cm_replace=False) xbmcplugin.setContent(Addon.plugin_handle, 'movie')
if int(Addon.get_setting('quality')) < 0: Addon.set_setting('quality', '0') elif int(Addon.get_setting('quality')) > 3: Addon.set_setting('quality', '3') if int(Addon.get_setting('rec_quality')) < 0: Addon.set_setting('rec_quality', '0') elif int(Addon.get_setting('rec_quality')) > 2: Addon.set_setting('rec_quality', '2') quality_type = int(Addon.get_setting('quality')) rec_quality_type = int(Addon.get_setting('rec_quality')) if setup != 'true': dlg.ok(Addon.get_string(30000),Addon.get_string(20002),Addon.get_string(20003)) # Enter Email retval = dlg.input(Addon.get_string(20004), type=xbmcgui.INPUT_ALPHANUM) if retval and len(retval) > 0: Addon.set_setting('email', str(retval)) email = Addon.get_setting('email') # Enter Password retval = dlg.input(Addon.get_string(20005), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT) if retval and len(retval) > 0: Addon.set_setting('password', str(retval)) password = Addon.get_setting('password') if len(Addon.get_setting('email')) > 0 and len(Addon.get_setting('password')) > 0: Addon.set_setting('setup', 'true') dlg.ok(Addon.get_string(30000), Addon.get_string(200001), Addon.get_string(200000)) else: dlg.ok(Addon.get_string(30000), Addon.get_string(20002),Addon.get_string(20003))
infolabels, img=s['thumb'], total_items=16) if play: q = Addon.parse_query(play) stream_url = rr.resolve_stream(q['mode'], int(q['song_id'])) Addon.resolve_url(stream_url) elif mode == 'music' or mode == 'video': sort = Addon.plugin_queries.get('sort', False) page = int(Addon.plugin_queries.get('page', 1)) aux = Addon.plugin_queries.get('aux', '') if sort == 'search': kb = xbmc.Keyboard('', Addon.get_string(30027), False) kb.doModal() if (kb.isConfirmed()): query = kb.getText() if query: display_songs(mode, rr.search(mode, query)) elif sort: if (sort == 'most_played' or sort == 'least_played') and not aux: Addon.add_directory({ 'mode': mode, 'sort': sort, 'aux': 'week' }, Addon.get_string(30010)) Addon.add_directory({ 'mode': mode, 'sort': sort,
Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] play = Addon.plugin_queries['play'] if play: Addon.log('play: %s mode: %s' % (play, mode)) if mode == 'vid': stream_url = freedo.resolve_video(play) else: stream_url = freedo.resolve_stream(play) Addon.resolve_url(stream_url) elif mode == 'main': Addon.log(mode) Addon.add_directory({'mode': 'list_live'}, Addon.get_string(30000)) Addon.add_directory({'mode': 'list_vid'}, Addon.get_string(30001)) elif mode == 'list_live': pn = int(Addon.plugin_queries.get('pn', 1)) Addon.log('mode: %s page: %d' % (mode, pn)) channels = freedo.get_channels(pn) for c in channels['channels']: Addon.add_video_item(c['id'], {'title': c['name']}, img=c['img']) if channels['more']: Addon.add_directory({ 'mode': 'list_live', 'pn': pn + 1 }, Addon.get_string(30003)) elif mode == 'list_vid':
add(Addon.build_query({'mode': mode, 'song_id': s['song_id']}), infolabels, img=s['thumb'], total_items=16) if play: q = Addon.parse_query(play) stream_url = rr.resolve_stream(q['mode'], int(q['song_id'])) Addon.resolve_url(stream_url) elif mode == 'music' or mode == 'video': sort = Addon.plugin_queries.get('sort', False) page = int(Addon.plugin_queries.get('page', 1)) aux = Addon.plugin_queries.get('aux', '') if sort == 'search': kb = xbmc.Keyboard('', Addon.get_string(30027), False) kb.doModal() if (kb.isConfirmed()): query = kb.getText() if query: display_songs(mode, rr.search(mode, query)) elif sort: if (sort == 'most_played' or sort == 'least_played') and not aux: Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'week'}, Addon.get_string(30010)) Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'month'}, Addon.get_string(30011)) Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'year'}, Addon.get_string(30012)) Addon.add_directory({'mode': mode, 'sort': sort, 'aux': 'all'}, Addon.get_string(30013))
elif mode == 'browse': page = int(Addon.plugin_queries.get('page', 0)) res_per_page = int(Addon.get_setting('res_per_page')) genre = Addon.plugin_queries.get('genre', '') sort = Addon.plugin_queries.get('sort', False) Addon.log('browse genre: %s, page: %d' % (genre, page)) if genre: if not sort: sort = int(Addon.get_setting('sort')) if sort == 2: dialog = xbmcgui.Dialog() sort = dialog.select( Addon.get_string(30029), [Addon.get_string(30030), Addon.get_string(30031)]) #, #Addon.get_string(30032)]) sort = ['views', 'recent'][sort] videos = muzu.browse_videos(genre, sort, page, res_per_page, Addon.get_setting('country')) if videos == None: videos = [] mode = 'error' for v in videos: title = '%s: %s' % (v['artist'], v['title'])
if sort == EightTracks.SORT_LIKED: result = et.liked_mixes(page) else: result = et.mixes(sort, tag, search, page) mixes = result['mixes'] for mix in mixes: name = '%s by %s (%s)' % (mix['name'], mix['user']['login'], mix['tag_list_cache']) Addon.add_directory({'play': mix['id'], 'mix_name': mix['name'], 'img': mix['cover_urls']['max200'], 'user': mix['user']['login']}, name, mix['cover_urls']['max200'], folder=False) if result['next_page']: Addon.add_directory({'mode': 'mixes', 'sort': sort, 'tag': tag, 'search': search, 'page': result['next_page']}, Addon.get_string(30015)) else: if search: kb = xbmc.Keyboard('', Addon.get_string(30017), False) kb.doModal() if (kb.isConfirmed()): search = kb.getText() if mytag: kb = xbmc.Keyboard('', Addon.get_string(30018), False) kb.doModal() if (kb.isConfirmed()): tag = kb.getText() Addon.add_directory({'mode': 'mixes', 'tag': tag, 'search': search, 'sort': EightTracks.SORT_RECENT}, Addon.get_string(30011))
elif mode == 'browse': page = int(Addon.plugin_queries.get('page', 0)) res_per_page = int(Addon.get_setting('res_per_page')) genre = Addon.plugin_queries.get('genre', '') sort = Addon.plugin_queries.get('sort', False) Addon.log('browse genre: %s, page: %d' % (genre, page)) if genre: if not sort: sort = int(Addon.get_setting('sort')) if sort == 2: dialog = xbmcgui.Dialog() sort = dialog.select(Addon.get_string(30029), [Addon.get_string(30030), Addon.get_string(30031)])#, #Addon.get_string(30032)]) sort = ['views', 'recent'][sort] videos = muzu.browse_videos(genre, sort, page, res_per_page, Addon.get_setting('country')) if videos == None: videos = [] mode = 'error' for v in videos: title = '%s: %s' % (v['artist'], v['title']) Addon.add_video_item(str(v['asset_id']),
Addon.add_directory({'mode': 'list_videos', 'cid': c['cid'], }, c['title'], img=c['img'], fanart=c['img'], ) if channels['more']: Addon.add_directory({'mode': 'list_channels', 'cat': Addon.plugin_queries['cat'], 'genre': Addon.plugin_queries.get('genre', ''), 'type': Addon.plugin_queries.get('type', 'a'), 'page': int(page) + 1, }, Addon.get_string(30000)) if mode == 'list_videos': page = Addon.plugin_queries.get('page', 0) Addon.log('%s: cid=%s page=%s' % (mode, Addon.plugin_queries['cid'], page)) quality = ['360', '480'][int(Addon.get_setting('quality'))] videos = crack.get_videos(Addon.plugin_queries['cid'], quality=quality, page=page) for v in videos['items']: Addon.add_video_item(v['video_url'], {'title': v['title'], 'plot': v['plot'], 'cast': v['cast'], 'director': v['director'], 'mpaa': v['mpaa'], },
Addon.plugin_handle = int(sys.argv[1]) Addon.plugin_queries = Addon.parse_query(sys.argv[2][1:]) email = Addon.get_setting('email') password = Addon.get_setting('password') ustv = ustvnow.Ustvnow(email, password) Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] if mode == 'main': Addon.log(mode) Addon.add_directory({'mode': 'live'}, Addon.get_string(30001)) Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002)) elif mode == 'live': Addon.log(mode) stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))] channels = ustv.get_channels(int(Addon.get_setting('quality')), stream_type) for c in channels: Addon.add_video_item(c['url'], {'title': '%s - %s' % (c['name'], c['now']['title']), 'plot': c['now']['plot']}, img=c['icon']) elif mode == 'recordings':
Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] play = Addon.plugin_queries['play'] if play: Addon.log('play: %s mode: %s' % (play, mode)) if mode == 'vid': stream_url = freedo.resolve_video(play) else: stream_url = freedo.resolve_stream(play) Addon.resolve_url(stream_url) elif mode == 'main': Addon.log(mode) Addon.add_directory({'mode': 'list_live'}, Addon.get_string(30000)) Addon.add_directory({'mode': 'list_vid'}, Addon.get_string(30001)) elif mode == 'list_live': pn = int(Addon.plugin_queries.get('pn', 1)) Addon.log('mode: %s page: %d' % (mode, pn)) channels = freedo.get_channels(pn) for c in channels['channels']: Addon.add_video_item(c['id'], {'title': c['name']}, img=c['img']) if channels['more']: Addon.add_directory({'mode': 'list_live', 'pn': pn + 1}, Addon.get_string(30003)) elif mode == 'list_vid': pn = int(Addon.plugin_queries.get('pn', 1)) Addon.log('mode: %s page: %d' % (mode, pn))
else: Addon.set_setting('subscription', 'false') if premium == False: Addon.set_setting('quality_type', '0') quality_type = int(Addon.get_setting('quality_type')) stream_type = ['rtmp', 'rtsp'][int(Addon.get_setting('stream_type'))] Addon.log('plugin url: ' + Addon.plugin_url) Addon.log('plugin queries: ' + str(Addon.plugin_queries)) Addon.log('plugin handle: ' + str(Addon.plugin_handle)) mode = Addon.plugin_queries['mode'] Addon.log(mode) if mode == 'main': Addon.add_directory({'mode': 'live'}, Addon.get_string(30001)) Addon.add_directory({'mode': 'favorites'}, Addon.get_string(30006)) Addon.add_directory({'mode': 'tvguide'}, Addon.get_string(30007)) if premium == True: Addon.add_directory({'mode': 'scheduled'}, Addon.get_string(30111)) Addon.add_directory({'mode': 'recordings'}, Addon.get_string(30002)) elif mode == 'live': channels = ustv.get_channels(quality_type, stream_type, True) if channels: for c in channels: rURL = "plugin://plugin.video.ustvnow/?name="+c['name']+"&mode=play" logo = xbmc.translatePath(os.path.join(plugin_path, 'resources', 'images', c['name']+'.png')) item = xbmcgui.ListItem(path=rURL) name = c["name"]; sname = c["sname"];
Addon.add_directory({'mode': c['title']}, c['title'], img=c['img']) if len(Addon.get_setting('notify')) > 0: Addon.set_setting('notify', str(int(Addon.get_setting('notify')) + 1)) else: Addon.set_setting('notify', "1") if int(Addon.get_setting('notify')) == 1: xbmcgui.Dialog().notification(addonname + ' is provided by:', 'www.tvaddons.co', addon_logo, 5000, False) elif int(Addon.get_setting('notify')) == 9: Addon.set_setting('notify', "0") except: dlg.ok(Addon.get_string(5000), Addon.get_string(8000)) exit() def show_streams(title, playlist_id): if mode == title: streams = source.Source().get_streams(playlist_id) if streams: for c in streams: title = c['title'] channel = c['title'] videoId = c['videoId'] img = c['img'] rURL = Addon.plugin_url + "?channel=" + channel + "&videoId=" + videoId + "&mode=play" Addon.add_video_item(rURL, {'title': title}, img=img)