# -*- 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
Example #3
0
# 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
Example #4
0
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":
Example #5
0
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:
Example #6
0
    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&center=%s&size=@2x'

Example #7
0
# -*- 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()
Example #10
0
 def __init__(self):
     xbmcaddon.Addon.__init__(self)
     self.client = self.create_client()
     self._router = routing.Plugin()
     self.register_routes()