def __init__(self, mode): # Create List for display showList = [] # [plugin.getstr(571)] self.mode = mode # Load in Skin Codes from Database jsonData = storageDB.SkinCodes() if self.skin in jsonData: # Fetch viewmodes for selected mode self.viewModes = self.filterCodes(jsonData[self.skin], mode) # Append each key of viewModes to show list for i in sorted(self.viewModes.keys()): showList.append(i) # Fetch Current Mode if set and Show to user under Custom Mode ID self.currentMode = currentMode = plugin.get_setting("%s.%s.view" % (self.skin, mode)) if currentMode: showList.append("%s (%s)" % (plugin.get_string(636), currentMode)) else: showList.append(plugin.get_string(636)) # Display List self.display(showList)
def display(self, showList): # Bold the already selected view mode orgList = showList[:] if self.currentMode and len(showList) > 2: # Convert current viewmode to an interger currentMode = int(self.currentMode) for key, value in self.viewModes.iteritems(): # Check if current mode is found in viewModes if currentMode == value: # When found find its position in the list for count, i in enumerate(showList): # Check for required key if key == i: # Wen found, Bold and Indent the value showList[count] = "[B]-%s[/B]" % showList[count] break break # Display List to User ret = xbmcutil.Dialog.dialogSelect( plugin.get_setting(self.skin, "name"), showList) if ret >= 0: # Take action depending on response response = orgList[ret] if response.startswith(plugin.get_string(636)): self.askForViewID() elif response == plugin.get_string(571): plugin.set_setting("%s.%s.view" % (self.skin, self.mode), "") else: plugin.set_setting("%s.%s.view" % (self.skin, self.mode), str(self.viewModes[str(response)]))
def display(self, showList): # Bold the already selected view mode orgList = showList[:] if self.currentMode and len(showList) > 2: # Convert current viewmode to an interger currentMode = int(self.currentMode) for key, value in self.viewModes.iteritems(): # Check if current mode is found in viewModes if currentMode == value: # When found find its position in the list for count, i in enumerate(showList): # Check for required key if key == i: # Wen found, Bold and Indent the value showList[count] = "[B]-%s[/B]" % showList[count] break break # Display List to User ret = xbmcutil.Dialog.dialogSelect(plugin.get_setting(self.skin, "name"), showList) if ret >= 0: # Take action depending on response response = orgList[ret] if response.startswith(plugin.get_string(636)): self.askForViewID() elif response == plugin.get_string(571): plugin.set_setting("%s.%s.view" % (self.skin, self.mode), "") else: plugin.set_setting("%s.%s.view" % (self.skin, self.mode), str(self.viewModes[str(response)]))
# -*- coding: utf-8 -*- from xbmcswift2 import Plugin import resources.lib.afreeca as afreeca import resources.lib.afreeca_station as afreeca_station import resources.lib.afreeca_sports as afreeca_sports plugin = Plugin() UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.9" m_broad = "plugin://plugin.video.m.afreeca/broadcast/" tPrevPage = u"[B]<<%s[/B]" % plugin.get_string(30100) tNextPage = u"[B]%s>>[/B]" % plugin.get_string(30101) @plugin.route('/') def main_menu(): items = [] ### 이슈 생방송 if plugin.get_setting("showIssueBroad", bool): videos = afreeca.getIssueBroadcast() if videos: items.append({ 'label': u"[COLOR FF0000FF]이슈 생방송[/COLOR]", 'path': '' }) for video in videos: vid_path = m_broad + video['broad_no'] items.append({ 'label': video['broad_title'], 'label2': video['user_nick'],
}, 'path': plugin.url_for( endpoint='play_movie', stream_path=item['stream_path'] ), 'is_playable': True } for item in category_items] return items items = get_movies(category_id) finish_kwargs = {} if plugin.get_setting('force_viewmode') == 'true': finish_kwargs['view_mode'] = 'thumbnail' return plugin.finish(items, **finish_kwargs) @plugin.route('/movie/<stream_path>/') def play_movie(stream_path): if plugin.get_setting('use_rtmp') == 'true': stream_url = api.get_rtmp_url(stream_path) else: stream_url = api.get_stream_url(stream_path) return plugin.set_resolved_url(stream_url) if __name__ == '__main__': try: plugin.run() except NetworkError: plugin.log.error(NetworkError) plugin.notify(msg=plugin.get_string('30200'))
def askForViewID(self): # Display Numeric Dialog ret = xbmcutil.Dialog.dialogNumeric(0, plugin.get_string(611), self.currentMode) if ret: plugin.set_setting("%s.%s.view" % (self.skin, self.mode), str(ret))
# -*- coding: utf-8 -*- from xbmcswift2 import Plugin import resources.lib.afreeca as afreeca import resources.lib.afreeca_station as afreeca_station import resources.lib.afreeca_sports as afreeca_sports plugin = Plugin() UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.9" m_broad = "plugin://plugin.video.m.afreeca/broadcast/" tPrevPage = u"[B]<<%s[/B]" % plugin.get_string(30100) tNextPage = u"[B]%s>>[/B]" % plugin.get_string(30101) @plugin.route("/") def main_menu(): items = [] ### 이슈 생방송 if plugin.get_setting("showIssueBroad", bool): videos = afreeca.getIssueBroadcast() if videos: items.append({"label": u"[COLOR FF0000FF]이슈 생방송[/COLOR]", "path": ""}) for video in videos: vid_path = m_broad + video["broad_no"] items.append( { "label": video["broad_title"], "label2": video["user_nick"], "path": vid_path, "thumbnail": video["thumb"],
plugin = Plugin() @plugin.route('/') def show_root(): videos = scraper.get_videos() shuffle(videos) items = [{ 'label': u'%s - %s' % (video['interpret'], video['title']), 'thumbnail': video['thumb'], 'is_playable': True, 'path': plugin.url_for('play_video', video_url=video['video_url']) } for video in videos] finish_kwargs = {} if plugin.get_setting('force_viewmode', bool): finish_kwargs['view_mode'] = 'thumbnail' return plugin.finish(items, **finish_kwargs) @plugin.route('/play/<video_url>') def play_video(video_url): return plugin.set_resolved_url(video_url) if __name__ == '__main__': try: plugin.run() except scraper.NetworkError: plugin.notify(plugin.get_string(30020))
@plugin.route('/') def show_root(): videos = scraper.get_videos() shuffle(videos) items = [{ 'label': u'%s - %s' % (video['interpret'], video['title']), 'thumbnail': video['thumb'], 'is_playable': True, 'path': plugin.url_for( 'play_video', video_url=video['video_url'] ) } for video in videos] finish_kwargs = {} if plugin.get_setting('force_viewmode', bool): finish_kwargs['view_mode'] = 'thumbnail' return plugin.finish(items, **finish_kwargs) @plugin.route('/play/<video_url>') def play_video(video_url): return plugin.set_resolved_url(video_url) if __name__ == '__main__': try: plugin.run() except scraper.NetworkError: plugin.notify(plugin.get_string(30020))
'path': plugin.url_for(endpoint='play_movie', stream_path=item['stream_path']), 'is_playable': True } for item in category_items] return items items = get_movies(category_id) finish_kwargs = {} if plugin.get_setting('force_viewmode') == 'true': finish_kwargs['view_mode'] = 'thumbnail' return plugin.finish(items, **finish_kwargs) @plugin.route('/movie/<stream_path>/') def play_movie(stream_path): if plugin.get_setting('use_rtmp') == 'true': stream_url = api.get_rtmp_url(stream_path) else: stream_url = api.get_stream_url(stream_path) return plugin.set_resolved_url(stream_url) if __name__ == '__main__': try: plugin.run() except NetworkError: plugin.log.error(NetworkError) plugin.notify(msg=plugin.get_string('30200'))
plugin = Plugin() my_stations = plugin.get_storage('my_stations.json', file_format='json') found = False if plugin.get_setting('autostart', bool): for station in my_stations.values(): if 'autostart' in station: found = True plugin.log.info("Play startup radio station: %s" % station['name']) listitem = xbmcgui.ListItem(station['name']) listitem.setArt({'thumb': station['thumbnail']}) listitem.setRating("radio.de", float(station.get('rating', '0.0'))) listitem.setInfo( 'music', { 'title': station['name'], 'genre': station['genre'], 'size': station['bitrate'], 'comment': station['current_track'] }) xbmc.Player().play(item=station['stream_url'], listitem=listitem) if not found: plugin.notify(plugin.get_string( Strings['no-station-notification']).encode('utf-8'), delay=25000, image=plugin.addon.getAddonInfo('path') + "/icon.png")