riorganizzazione cartelle
@@ -11,7 +11,7 @@
|
||||
</extension>
|
||||
<extension point="kodi.context.item">
|
||||
<menu id="kodi.core.main">
|
||||
<item library="updatetvshow.py">
|
||||
<item library="platformcode/updatetvshow.py">
|
||||
<label>70269</label>
|
||||
<visible>String.IsEqual(ListItem.dbtype,tvshow)</visible>
|
||||
</item>
|
||||
@@ -21,8 +21,8 @@
|
||||
<summary lang="en">Kodi on Demand is a Kodi add-on to search and watch contents on the web.</summary>
|
||||
<summary lang="it">Kodi on Demand è un addon di Kodi per cercare e guardare contenuti sul web.</summary>
|
||||
<assets>
|
||||
<icon>logo.png</icon>
|
||||
<fanart>fanart.jpg</fanart>
|
||||
<icon>resources/media/logo.png</icon>
|
||||
<fanart>resources/media/fanart.jpg</fanart>
|
||||
<screenshot>resources/media/themes/ss/1.png</screenshot>
|
||||
<screenshot>resources/media/themes/ss/2.png</screenshot>
|
||||
<screenshot>resources/media/themes/ss/3.png</screenshot>
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# ------------------------------------------------------------
|
||||
|
||||
import requests, json, copy
|
||||
from core import support
|
||||
from specials import autorenumber
|
||||
from core import support, autorenumber
|
||||
|
||||
try: from lib import cloudscraper
|
||||
except: from lib import cloudscraper
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
# Canale per Paramount Network
|
||||
# ------------------------------------------------------------
|
||||
|
||||
from core import support, jsontools
|
||||
from specials import autorenumber
|
||||
from core import support, jsontools, autorenumber
|
||||
|
||||
# host = support.config.get_channel_url()
|
||||
host = 'https://www.paramountnetwork.it'
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
# Canale per AnimeUnity
|
||||
# ------------------------------------------------------------
|
||||
|
||||
import requests, json, copy
|
||||
from core import support, jsontools
|
||||
from specials import autorenumber
|
||||
import requests, json
|
||||
from core import support
|
||||
|
||||
try: from lib import cloudscraper
|
||||
except: from lib import cloudscraper
|
||||
|
||||
@@ -3,10 +3,8 @@
|
||||
# Canale per vedohd
|
||||
# ------------------------------------------------------------
|
||||
|
||||
from core import scrapertools, httptools, support
|
||||
from core.item import Item
|
||||
from core import scrapertools, support, autoplay
|
||||
from platformcode import logger, config
|
||||
from specials import autoplay
|
||||
|
||||
host = config.get_channel_url()
|
||||
headers = ""
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
# Canale per vvvvid
|
||||
# ----------------------------------------------------------
|
||||
import requests, sys
|
||||
from core import support, tmdb
|
||||
from specials import autorenumber
|
||||
from core import support, tmdb, autorenumber
|
||||
|
||||
if sys.version_info[0] >= 3:
|
||||
from concurrent import futures
|
||||
pass
|
||||
else:
|
||||
from concurrent_py2 import futures
|
||||
pass
|
||||
|
||||
|
||||
host = support.config.get_channel_url()
|
||||
|
||||
@@ -284,7 +284,7 @@ def downloadpage(url, **opt):
|
||||
CF = True
|
||||
|
||||
if config.get_setting('resolver_dns') and not opt.get('use_requests', False):
|
||||
from specials import resolverdns
|
||||
from core import resolverdns
|
||||
session.mount('https://', resolverdns.CipherSuiteAdapter(domain, CF))
|
||||
|
||||
req_headers = default_headers.copy()
|
||||
|
||||
@@ -485,6 +485,9 @@ def get_server_parameters(server):
|
||||
# Debriders
|
||||
elif filetools.isfile(filetools.join(config.get_runtime_path(), "servers", "debriders", server + ".json")):
|
||||
path = filetools.join(config.get_runtime_path(), "servers", "debriders", server + ".json")
|
||||
else:
|
||||
from core.support import dbg
|
||||
dbg()
|
||||
|
||||
# When the server is not well defined in the channel (there is no connector), it shows an error because there is no "path" and the channel has to be checked
|
||||
dict_server = jsontools.load(filetools.read(path))
|
||||
|
||||
@@ -17,13 +17,12 @@ else:
|
||||
from urllib import urlencode
|
||||
|
||||
from time import time
|
||||
from core import httptools, scrapertools, servertools, tmdb, channeltools
|
||||
from core import httptools, scrapertools, servertools, tmdb, channeltools, autoplay
|
||||
from core.item import Item
|
||||
from lib import unshortenit
|
||||
from platformcode import config
|
||||
from platformcode.logger import info
|
||||
from platformcode import logger
|
||||
from specials import autoplay
|
||||
|
||||
|
||||
def hdpass_get_servers(item):
|
||||
@@ -510,7 +509,7 @@ def scrape(func):
|
||||
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||
|
||||
if anime:
|
||||
from specials import autorenumber
|
||||
from platformcode import autorenumber
|
||||
if function == 'episodios' or item.action == 'episodios': autorenumber.renumber(itemlist, item, 'bold')
|
||||
else: autorenumber.renumber(itemlist)
|
||||
# if anime and autorenumber.check(item) == False and len(itemlist)>0 and not scrapertools.find_single_match(itemlist[0].title, r'(\d+.\d+)'):
|
||||
@@ -1229,7 +1228,7 @@ def filterLang(item, itemlist):
|
||||
# import channeltools
|
||||
list_language = channeltools.get_lang(item.channel)
|
||||
if len(list_language) > 1:
|
||||
from specials import filtertools
|
||||
from core import filtertools
|
||||
itemlist = filtertools.get_links(itemlist, item, list_language)
|
||||
return itemlist
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ def add_renumber_options(item, head_nfo, path):
|
||||
return ret
|
||||
|
||||
def check_renumber_options(item):
|
||||
from specials.autorenumber import load, write
|
||||
from core.autorenumber import load, write
|
||||
for key in item.channel_prefs:
|
||||
if 'TVSHOW_AUTORENUMBER' in item.channel_prefs[key]:
|
||||
item.channel = key
|
||||
@@ -1073,7 +1073,7 @@ def add_tvshow(item, channel=None):
|
||||
# Get the episode list
|
||||
itemlist = getattr(channel, item.action)(item)
|
||||
if itemlist and not scrapertools.find_single_match(itemlist[0].title, r'(\d+x\d+)'):
|
||||
from specials.autorenumber import select_type, renumber, check
|
||||
from core.autorenumber import select_type, renumber, check
|
||||
if not check(item):
|
||||
action = item.action
|
||||
select_type(item)
|
||||
|
||||
@@ -28,7 +28,7 @@ def start():
|
||||
# if it has DNS problems start but let in
|
||||
# if everything is ok: enter the addon
|
||||
|
||||
from specials.checkhost import test_conn
|
||||
from platformcode.checkhost import test_conn
|
||||
import threading
|
||||
threading.Thread(target=test_conn, args=(True, not config.get_setting('resolver_dns'), True, [], [], True)).start()
|
||||
|
||||
@@ -37,7 +37,6 @@ def start():
|
||||
updater.showSavedChangelog()
|
||||
|
||||
def run(item=None):
|
||||
from core.support import dbg
|
||||
logger.info()
|
||||
if not item:
|
||||
# Extract item from sys.argv
|
||||
@@ -66,7 +65,7 @@ def run(item=None):
|
||||
category = dictCategory[config.get_setting("category")]
|
||||
item = Item(channel="news", action="novedades", extra=category, mode = 'silent')
|
||||
else:
|
||||
from specials import side_menu
|
||||
from platformcode import side_menu
|
||||
item= Item()
|
||||
item = side_menu.check_user_home(item)
|
||||
item.start = True
|
||||
|
||||
@@ -135,7 +135,7 @@ def render_items(itemlist, parent_item):
|
||||
"""
|
||||
logger.info('START render_items')
|
||||
thumb_type = config.get_setting('video_thumbnail_type')
|
||||
from specials import shortcuts
|
||||
from platformcode import shortcuts
|
||||
from core import httptools
|
||||
_handle = int(sys.argv[1])
|
||||
default_fanart = config.get_fanart()
|
||||
@@ -968,7 +968,7 @@ def play_torrent(item, xlistitem, mediaurl):
|
||||
|
||||
torrent_options = torrent_client_installed(show_tuple=True)
|
||||
if len(torrent_options) == 0:
|
||||
from specials import elementum_download
|
||||
from platformcode import elementum_download
|
||||
elementum_download.download()
|
||||
return play_torrent(item, xlistitem, mediaurl)
|
||||
elif len(torrent_options) > 1:
|
||||
@@ -1136,7 +1136,6 @@ def install_widevine():
|
||||
def download_widevine(version, platform, path):
|
||||
# for x86 architectures
|
||||
from zipfile import ZipFile
|
||||
from xbmcaddon import Addon
|
||||
from core import downloadtools
|
||||
archiveName = 'https://dl.google.com/widevine-cdm/' + version + '-' + platform['os'] + '-' + platform['arch'] + '.zip'
|
||||
fileName = config.get_temp_file('widevine.zip')
|
||||
@@ -1153,7 +1152,6 @@ def download_widevine(version, platform, path):
|
||||
def download_chromeos_image(devices, platform, path):
|
||||
# for arm architectures
|
||||
from core import downloadtools
|
||||
from zipfile import ZipFile
|
||||
from core import jsontools
|
||||
best = best_chromeos_image(devices)
|
||||
archiveName = best['url']
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from core.item import Item
|
||||
from platformcode import logger
|
||||
from platformcode import logger, side_menu
|
||||
|
||||
|
||||
def context():
|
||||
from platformcode import config
|
||||
@@ -18,7 +18,6 @@ def context():
|
||||
return context
|
||||
|
||||
def side_menu(item):
|
||||
from specials import side_menu
|
||||
side_menu.open_menu(item)
|
||||
|
||||
def shortcut_menu(item):
|
||||
@@ -10,7 +10,7 @@ import os
|
||||
from core.item import Item
|
||||
from core import jsontools
|
||||
from platformcode import config, logger, launcher
|
||||
import xbmc, xbmcgui, xbmcplugin, xbmcaddon
|
||||
import xbmc, xbmcgui
|
||||
|
||||
media_path = os.path.join(config.get_runtime_path(), "resources/skins/Default/media/side_menu/")
|
||||
menu_settings_path = os.path.join(config.get_data_path(), "settings_channels", 'menu_settings_data.json')
|
||||
@@ -89,7 +89,6 @@ def get_start_page():
|
||||
if custom_start == False:
|
||||
item = Item(channel="news", action="novedades", extra=category, mode='silent')
|
||||
else:
|
||||
from specials import side_menu
|
||||
item = Item()
|
||||
item = side_menu.check_user_home(item)
|
||||
return item
|
||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 131 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 548 KiB After Width: | Height: | Size: 548 KiB |
|
Before Width: | Height: | Size: 449 KiB After Width: | Height: | Size: 449 KiB |
|
Before Width: | Height: | Size: 533 KiB After Width: | Height: | Size: 533 KiB |
@@ -3,7 +3,7 @@
|
||||
import re, os, sys, time, requests, xbmc, xbmcaddon
|
||||
|
||||
from core import filetools, jsontools
|
||||
from core.support import dbg, info, match
|
||||
from core.support import info, match
|
||||
from platformcode import config, platformtools
|
||||
from torrentool.api import Torrent
|
||||
from lib.guessit import guessit
|
||||
@@ -25,7 +25,7 @@ def test_video_exists(page_url):
|
||||
def get_video_url(page_url, premium=False, user='', password='', video_password=''):
|
||||
torrent_options = platformtools.torrent_client_installed(show_tuple=True)
|
||||
if len(torrent_options) == 0:
|
||||
from specials import elementum_download
|
||||
from platformcode import elementum_download
|
||||
elementum_download.download()
|
||||
info('server=torrent, the url is the good')
|
||||
|
||||
|
||||
BIN
sfondo.png
|
Before Width: | Height: | Size: 10 KiB |
@@ -7,7 +7,6 @@ import re, inspect, xbmcgui
|
||||
from core import httptools, jsontools, tmdb, support, filetools
|
||||
from core.item import Item
|
||||
from platformcode import config, platformtools
|
||||
from specials import autoplay
|
||||
from channelselector import get_thumb
|
||||
from collections import OrderedDict
|
||||
|
||||
@@ -735,7 +734,6 @@ def relative(key, json, path):
|
||||
|
||||
def pagination(item, itemlist = []):
|
||||
support.info()
|
||||
import json
|
||||
itlist = []
|
||||
|
||||
if not itemlist:
|
||||
|
||||
@@ -8,7 +8,6 @@ from __future__ import division
|
||||
import sys, os
|
||||
PY3 = False
|
||||
if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
|
||||
from future.builtins import filter
|
||||
from past.utils import old_div
|
||||
|
||||
import re, time, unicodedata, xbmc
|
||||
@@ -18,7 +17,7 @@ from core import filetools, jsontools, scraper, scrapertools, servertools, video
|
||||
from core.downloader import Downloader
|
||||
from core.item import Item
|
||||
from platformcode import config, logger, platformtools
|
||||
from core.support import info, dbg, typo
|
||||
from core.support import info, typo
|
||||
from servers import torrent
|
||||
|
||||
kb = '0xFF65B3DA'
|
||||
@@ -865,7 +864,7 @@ def get_episodes(item):
|
||||
|
||||
itemlist = []
|
||||
if episodes and not scrapertools.find_single_match(episodes[0].title, r'(\d+.\d+)') and item.channel not in ['videolibrary'] and item.action != 'season':
|
||||
from specials.autorenumber import select_type, renumber, check
|
||||
from core.autorenumber import select_type, renumber, check
|
||||
# support.dbg()
|
||||
if not check(item):
|
||||
select_type(item)
|
||||
|
||||
@@ -247,7 +247,7 @@ def novedades(item):
|
||||
list_canales, any_active = get_channels_list()
|
||||
|
||||
if config.is_xbmc():
|
||||
from specials import side_menu
|
||||
from platformcode import side_menu
|
||||
if mode=='silent' and any_active and len(list_canales[item.extra]) > 0:
|
||||
side_menu.set_menu_settings(item)
|
||||
aux_list=[]
|
||||
|
||||
@@ -558,7 +558,8 @@ def genres_menu(item):
|
||||
itemlist.append(Item(channel=item.channel, title=typo(value, 'bold'), page=1,
|
||||
action='discover_list', discovery=discovery,
|
||||
mode=item.mode))
|
||||
channelselector.thumb(itemlist)
|
||||
from core import support
|
||||
support.thumb(itemlist)
|
||||
return sorted(itemlist, key=lambda it: it.title)
|
||||
|
||||
|
||||
|
||||
@@ -1763,7 +1763,7 @@ def imagenes(item):
|
||||
return itemlist
|
||||
|
||||
if item.images:
|
||||
from specials import infoplus
|
||||
from platformcode import infoplus
|
||||
for key, value in item.images.iteritems():
|
||||
if key == "tmdb" and "Tmdb" in item.title:
|
||||
if item.folder:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#from builtins import str
|
||||
import sys, xbmc, os, traceback
|
||||
import sys
|
||||
|
||||
PY3 = False
|
||||
if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
|
||||
@@ -12,7 +12,6 @@ from core import filetools, scrapertools, videolibrarytools
|
||||
from core.support import typo, thumb
|
||||
from core.item import Item
|
||||
from platformcode import config, logger, platformtools
|
||||
from lib import generictools
|
||||
from distutils import dir_util
|
||||
if PY3:
|
||||
from concurrent import futures
|
||||
@@ -383,7 +382,7 @@ def get_episodes(item):
|
||||
|
||||
|
||||
def findvideos(item):
|
||||
from specials import autoplay
|
||||
from core import autoplay
|
||||
logger.info()
|
||||
# logger.debug("item:\n" + item.tostring('\n'))
|
||||
videolibrarytools.check_renumber_options(item)
|
||||
|
||||