Beispiel #1
0
 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
Beispiel #2
0
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")
Beispiel #3
0
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
Beispiel #4
0
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,
Beispiel #5
0
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()
Beispiel #7
0
# -*- 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>')
Beispiel #8
0
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)
Beispiel #10
0
def test_url_for_path():
    plugin = Plugin('plugin://foo.bar')
    assert plugin.url_for_path("/baz") == "plugin://foo.bar/baz"
Beispiel #11
0
# -*- 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()

Beispiel #12
0
def plugin():
    return Plugin('plugin://py.test')
Beispiel #13
0
# -*- 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
Beispiel #14
0
 def __init__(self):
     self.handle = Plugin().handle
Beispiel #15
0
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)