def __init__(self): try: # Creates a Dump is sys.argv[] is empty ! Plugin.__init__(self, base_url=Const.addon_base_url) except: pass self.base_url = Const.addon_base_url self.name = Const.addon_name
import os import io import time import json from future.moves.urllib.parse import urlencode from base64 import b64decode from datetime import datetime from dateutil.parser import parse from dateutil.tz import gettz, tzlocal from resources.lib.lntv_config_backendless import lntvConfig from resources.lib.lntv_channels import lntvChannels addon = xbmcaddon.Addon() plugin = Plugin() plugin.name = addon.getAddonInfo("name") user_agent = "Dalvik/2.1.0 (Linux; U; Android 5.1.1; AFTT Build/LVY48F)" USER_DATA_DIR = xbmc.translatePath(addon.getAddonInfo("profile")) ADDON_DATA_DIR = xbmc.translatePath(addon.getAddonInfo("path")) RESOURCES_DIR = os.path.join(ADDON_DATA_DIR, "resources") if not os.path.exists(USER_DATA_DIR): os.makedirs(USER_DATA_DIR) app_config_file = os.path.join(USER_DATA_DIR, "config.json") channel_list_file = os.path.join(USER_DATA_DIR, "channels.json") live_list_file = os.path.join(USER_DATA_DIR, "live.json") vod_list_file = os.path.join(USER_DATA_DIR, "vod.json") cert_file = os.path.join(RESOURCES_DIR, "com.lnt.androidnettv.crt") cert_key_file = os.path.join(RESOURCES_DIR, "com.lnt.androidnettv.key")
from __future__ import print_function import sys import os import json import re import conftree import cmdtalkplugin from upmplgutils import * # Using kodi plugin routing plugin: lets use reuse a lot of code from # the addon. from routing import Plugin # Need bogus base_url value to avoid plugin trying to call xbmc to # retrieve addon id plugin = Plugin('') from session import Session # Func name to method mapper dispatcher = cmdtalkplugin.Dispatch() # Pipe message handler msgproc = cmdtalkplugin.Processor(dispatcher) session = Session() is_logged_in = False def maybelogin(): global formatid global httphp
from __future__ import unicode_literals import traceback import xbmc import xbmcgui import xbmcaddon import xbmcplugin from xbmcgui import ListItem from requests import HTTPError from lib import tidalapi from lib.tidalapi.models import Album, Artist from lib.tidalapi import Quality from routing import Plugin addon = xbmcaddon.Addon() plugin = Plugin() plugin.name = addon.getAddonInfo('name') _addon_id = addon.getAddonInfo('id') config = tidalapi.Config(quality=[Quality.lossless, Quality.high, Quality.low][ int('0' + addon.getSetting('quality'))]) session = tidalapi.Session(config=config) is_logged_in = False _session_id = addon.getSetting('session_id') _country_code = addon.getSetting('country_code') _user_id = addon.getSetting('user_id') if _session_id and _country_code and _user_id: session.load_session(session_id=_session_id, country_code=_country_code,
from __future__ import unicode_literals import traceback import xbmc import xbmcgui import xbmcaddon import xbmcplugin from xbmcgui import ListItem from requests import HTTPError from lib import wimpy from lib.wimpy.models import Album, Artist from lib.wimpy import Quality from routing import Plugin addon = xbmcaddon.Addon() plugin = Plugin() plugin.name = addon.getAddonInfo('name') _addon_id = addon.getAddonInfo('id') config = wimpy.Config( api=wimpy.TIDAL_API if addon.getSetting('site') == '1' else wimpy.WIMP_API, quality=[Quality.lossless, Quality.high, Quality.low][int('0' + addon.getSetting('quality'))]) wimp = wimpy.Session(config=config) is_logged_in = False _session_id = addon.getSetting('session_id') _country_code = addon.getSetting('country_code') _user_id = addon.getSetting('user_id') if _session_id and _country_code and _user_id:
# -*- coding: utf-8 -*- ''' This is the actual InputStream Helper plugin entry point ''' from __future__ import absolute_import, division, unicode_literals import sys from routing import Plugin from inputstreamhelper import ADDON, Helper # NOTE: Work around an issue in script.module.routing # https://github.com/tamland/kodi-plugin-routing/pull/16 if len(sys.argv) < 1: sys.argv.append('addon.py') if len(sys.argv) < 2: sys.argv.append('-1') plugin = Plugin() @plugin.route('addon.py') # This is the entry point from the addon menu @plugin.route('/') @plugin.route('/settings') def settings(): ''' Entry point to open the plugin settings ''' ADDON.openSettings() @plugin.route('/check/<protocol>/<drm>') def check_inputstream(protocol, drm=None): ''' The API interface to check inputstream ''' Helper(protocol, drm=drm).check_inputstream()
# -*- coding: utf-8 -*- """ Addon code """ from __future__ import absolute_import, division, unicode_literals import logging from routing import Plugin from resources.lib import kodilogging kodilogging.config() routing = Plugin() # pylint: disable=invalid-name _LOGGER = logging.getLogger('addon') @routing.route('/') def show_main_menu(): """ Show the main menu """ from resources.lib.modules.menu import Menu Menu().show_mainmenu() @routing.route('/channels') def show_channels(): """ Shows Live TV channels """ from resources.lib.modules.channels import Channels Channels().show_channels() @routing.route('/channels/<channel>')
import os import traceback import requests import requests_cache from datetime import timedelta from base64 import b64decode, urlsafe_b64encode from pyDes import des, PAD_PKCS5 try: from urllib.parse import quote_from_bytes as orig_quote except ImportError: from urllib import quote as orig_quote addon = xbmcaddon.Addon() plugin = Plugin() plugin.name = addon.getAddonInfo("name") user_agent = "Dalvik/2.1.0 (Linux; U; Android 5.1.1; AFTS Build/LVY48F)" player_user_agent = "mediaPlayerhttp/2.1 (Linux;Android 5.1) ExoPlayerLib/2.6.1" USER_DATA_DIR = xbmc.translatePath(addon.getAddonInfo("profile")).decode("utf-8") # !! CACHE_TIME = int(addon.getSetting("cache_time")) CACHE_FILE = os.path.join(USER_DATA_DIR, "cache") expire_after = timedelta(hours=CACHE_TIME) if not os.path.exists(USER_DATA_DIR): os.makedirs(USER_DATA_DIR) s = requests_cache.CachedSession(CACHE_FILE, allowable_methods="POST", expire_after=expire_after, old_data_on_error=True) s.hooks = {"response": lambda r, *args, **kwargs: r.raise_for_status()} s.headers.update({"User-Agent": "USER-AGENT-tvtap-APP-V2"}) token_url = "http://tvtap.net/tvtap1/index_new.php?case=get_channel_link_with_token_tvtap"
# GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ''' This is the actual VRT NU video plugin entry point ''' from __future__ import absolute_import, division, unicode_literals from routing import Plugin try: # Python 3 from urllib.parse import unquote_plus except ImportError: # Python 2 from urllib import unquote_plus from kodiutils import localize, log_access, notification, refresh_caches from statichelper import from_unicode, to_unicode # pylint: disable=invalid-name plugin = Plugin() @plugin.route('/') def main_menu(): ''' The VRT NU plugin main menu ''' from vrtplayer import VRTPlayer VRTPlayer().show_main_menu() @plugin.route('/cache/delete') @plugin.route('/cache/delete/<cache_file>') def delete_cache(cache_file='*.json'): ''' The API interface to delete caches ''' refresh_caches(cache_file=cache_file)
def test_url_for_path(): plugin = Plugin('plugin://foo.bar') assert plugin.url_for_path("/baz") == "plugin://foo.bar/baz"
# -*- 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 NU video plugin entry point""" from __future__ import absolute_import, division, unicode_literals from routing import Plugin try: # Python 3 from urllib.parse import unquote_plus except ImportError: # Python 2 from urllib import unquote_plus from kodiutils import end_of_directory, execute_builtin, get_global_setting, localize, log_access, notification, ok_dialog, refresh_caches from utils import from_unicode, to_unicode plugin = Plugin() # pylint: disable=invalid-name @plugin.route('/') def main_menu(): """The VRT NU plugin main menu""" from vrtplayer import VRTPlayer VRTPlayer().show_main_menu() @plugin.route('/noop') def noop(): """The API interface to do nothing""" end_of_directory()
def plugin(): return Plugin('plugin://py.test')
# -*- coding: utf-8 -*- """ Addon code """ from __future__ import absolute_import, division, unicode_literals from routing import Plugin from resources.lib import kodilogging kodilogging.config() routing = Plugin() @routing.route('/') def show_main_menu(): """ Show the main menu """ from resources.lib.modules.menu import Menu Menu().show_mainmenu() @routing.route('/channels') def show_channels(): """ Shows Live TV channels """ from resources.lib.modules.channels import Channels Channels().show_channels() @routing.route('/channels/<channel>') def show_channel_menu(channel): """ Shows Live TV channels """ from resources.lib.modules.channels import Channels
def __init__(self): self.handle = Plugin().handle
def test_url_for_path(): plugin = Plugin('plugin://foo.bar') assert plugin.url_for_path("/baz") == "plugin://foo.bar/baz"
def plugin_convert(): return Plugin('plugin://py.test', convert_args=True)