def run(): """ This is an entry point to plugin. It runs router, which (based on value in query string received from Kodi) decides which controller to run. """ prepareUrlLib() Router.route()
import sys import xbmcplugin from resources.lib.router import Router from resources.lib.controllers import ( root, channels, channel_packages, movies, serials ) router = Router('plugin://plugin.video.movix') router.add('/', root, 'index') router.add('/sign_in', root, 'sign_in') router.add('/sign_in_sms', root, 'sign_in_sms') router.add('/play/{id}/{hls_id}', root, 'play', id=int, hls_id=int) router.add('/channels', channels, 'index', page=int) router.add('/channel-packages', channel_packages, 'index', page=int) router.add('/channel-packages/{id}/channels', channel_packages, 'channels', id=int, packages_page=int, adult=int) router.add('/movies', movies, 'index', offset=int) router.add('/serials', serials, 'index', offset=int) router.add('/serials/{id}/seasons', serials, 'seasons', id=int, serials_offset=int) router.add('/episodes/season/{id}', serials, 'episodes', id=int, serial_id=int) if len(sys.argv) == 4: xbmcplugin.setContent(int(sys.argv[1]), 'videos') router.run(*sys.argv) # pylint: disable=no-value-for-parameter
def router(): return Router()
def setup_method(self, _method): r = Router(host) r.add('/', this, 'index') r.add('/resource/{id}', this, 'resource', id=int) r.add('/items/{id}/{number}', this, 'nested_with_qs', id=int, number=int, value=int) self.router = r
current_path = current_path + query dbg = True try: import StorageServer print 'real storage' except ImportError: import storageserverdummy as StorageServer print 'dummy storage' cache = StorageServer.StorageServer(addon_id, 24) router = Router(host="plugin://%s" % (addon_id,)) class PluginHelper(object): def __init__(self, handle): self.handle = handle def listingAction(self, func): def inner(*args): items = func(*args) if items is None: print args else: xbmcplugin.addDirectoryItems(self.handle, items) xbmcplugin.endOfDirectory(self.handle)