# -*- coding: utf-8 -*- import routing import requests import xbmc import xbmcplugin import xbmcgui import xbmcaddon import json from datetime import datetime _addon = xbmcaddon.Addon() plugin = routing.Plugin() @plugin.route('/list_categories') def list_categories(): xbmcplugin.addSortMethod(plugin.handle, sortMethod=xbmcplugin.SORT_METHOD_LABEL) listing = [] client = GraphQLClient() data = client.execute( '''query LoadTags($limit :Int){tags(inGuide:true,limit:$limit){...NavigationCategoryFragmentOnTag}tagsCount(inGuide:true)}fragment NavigationCategoryFragmentOnTag on Tag{id,name,category,urlName}''', {'limit': 20}) for item in data['data']['tags']: listitem = xbmcgui.ListItem(item['name'].strip()) listing.append((plugin.url_for(list_channels, item['id'], 'none'), listitem, True)) xbmcplugin.addDirectoryItems(plugin.handle, listing, len(listing)) xbmcplugin.endOfDirectory(plugin.handle)
# -*- coding: utf-8 -*- # GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ''' This is the actual VRT Radio audio plugin entry point ''' from __future__ import absolute_import, division, unicode_literals import routing from data import CHANNELS from xbmc import getCondVisibility from xbmcgui import ListItem from xbmcplugin import addDirectoryItems, addSortMethod, endOfDirectory, setResolvedUrl, SORT_METHOD_LABEL, SORT_METHOD_UNSORTED plugin = routing.Plugin() # pylint: disable=invalid-name @plugin.route('/') def main_menu(path=''): """The VRT Radio plugin main menu""" has_white_icons = getCondVisibility( 'System.HasAddon("resource.images.studios.white")') == 1 if has_white_icons: icon_path = 'resource://resource.images.studios.white/%(studio)s.png' thumb_path = 'resource://resource.images.studios.white/%(studio)s.png' else: icon_path = 'DefaultAddonMusic.png' thumb_path = 'DefaultAddonMusic.png' # NOTE: Wait for resource.images.studios.coloured v0.16 to be released # has_coloured_icons = getCondVisibility('System.HasAddon("resource.images.studios.coloured")') == 1
# hack to be able to test code from terminal class FillPlugin: def route(self): def decorator(func): return func return decorator PLUGIN = FillPlugin try: import routing PLUGIN = routing.Plugin() except: pass def path_for_provider(key): return "/providers/%s" % key def path_for_source(key): return "/sources/%s" % key
from requester import * from resources.lib.F4mProxy import f4mProxyHelper import xbmcplugin import xbmcaddon import xbmcgui import routing as routing_plugin # plugin constants __plugin__ = "plugin.video.vvvvid" __author__ = "evilsephiroth" __url__ = sys.argv[0] __handle__ = int(sys.argv[1]) ADDON = xbmcaddon.Addon() CWD = ADDON.getAddonInfo("path").decode("utf-8") routing = routing_plugin.Plugin() def add_items(items, isFolder=False): for item in items: label = None label2 = None iconImage = None thumbnailImage = None path = None offscreen = False for property, value in item.items(): if property == "label": label = value elif property == "label2":
from kodi_six import xbmc, xbmcaddon, xbmcgui, xbmcvfs, xbmcplugin from kodi_six.utils import py2_encode, py2_decode from contextlib import closing import os, requests, json, re, routing import requests.packages.urllib3 requests.packages.urllib3.disable_warnings() #Silence uneeded warnings plugin_handle = routing.Plugin() #Plugin Handle # xbmcplugin.setContent(plugin_handle.handle,'movies') def copy_directory_contents_xbmcvfs(directory_from, directory_to): overall_success = True files_out = list() dirs_in_dir, files_in_dir = xbmcvfs.listdir( os.path.join(directory_from, '')) for ff in files_in_dir: if not xbmcvfs.copy( os.path.join(directory_from, ff), os.path.join( directory_to, ff)): #If move does not work, then copy overall_success = False else: xbmc.log( msg= 'Retro BIOS Tool: The file was copied from: %(file_from)s, to: %(file_to)s' % { 'file_from': os.path.join(directory_from, ff), 'file_to': os.path.join(directory_to, ff) }, level=xbmc.LOGDEBUG) files_out.append(os.path.join(directory_to, ff)) for dd in dirs_in_dir:
basestring = str unicode = str # Plugin Info ADDON_ID = 'plugin.video.newson' REAL_SETTINGS = xbmcaddon.Addon(id=ADDON_ID) ADDON_NAME = REAL_SETTINGS.getAddonInfo('name') SETTINGS_LOC = REAL_SETTINGS.getAddonInfo('profile') ADDON_PATH = REAL_SETTINGS.getAddonInfo('path') ADDON_VERSION = REAL_SETTINGS.getAddonInfo('version') ICON = REAL_SETTINGS.getAddonInfo('icon') FANART = REAL_SETTINGS.getAddonInfo('fanart') LANGUAGE = REAL_SETTINGS.getLocalizedString NEWSART = os.path.join(ADDON_PATH, 'resources', 'images', 'newscast.jpg') CLIPART = os.path.join(ADDON_PATH, 'resources', 'images', 'videoclips.jpg') ROUTER = routing.Plugin() ## GLOBALS ## DEFAULT_ENCODING = "utf-8" CONTENT_TYPE = 'episodes' DISC_CACHE = False APIKEY = REAL_SETTINGS.getSetting('MAPQUEST_API') DEBUG = REAL_SETTINGS.getSetting('Enable_Debugging') == 'true' BASE_API = 'https://newson.us/api' OLD_API = 'http://watchnewson.com/api/linear/channels' LOGO_URL = 'https://dummyimage.com/512x512/035e8b/FFFFFF.png&text=%s' FAN_URL = 'https://dummyimage.com/1280x720/035e8b/FFFFFF.png&text=%s' MAP_URL = 'https://www.mapquestapi.com/staticmap/v5/map?key=%s¢er=%s&size=@2x'
# -*- coding: utf-8 -*- """ Addon code """ from __future__ import absolute_import, division, unicode_literals import routing from resources.lib.kodiwrapper import KodiWrapper routing = routing.Plugin() kodi = KodiWrapper(globals()) @routing.route('/') def show_main_menu(): """ Show the main menu """ from resources.lib.modules.menu import Menu Menu(kodi).show_mainmenu() @routing.route('/channels') def show_channels(): """ Shows Live TV channels """ from resources.lib.modules.channels import Channels Channels(kodi).show_channels() @routing.route('/channels/<channel>') def show_channel_menu(channel): """ Shows Live TV channels """ from resources.lib.modules.channels import Channels
def get_router_instance(): if not this.instance: this.instance = routing.Plugin() return this.instance
def __init__(self): self._router = routing.Plugin() self._history = PluginUrlHistory()
def __init__(self): xbmcaddon.Addon.__init__(self) self.client = self.create_client() self._router = routing.Plugin() self.register_routes()