From d489fb443be26eaf35f7cea784916d78b2a7e7aa Mon Sep 17 00:00:00 2001 From: marco Date: Mon, 21 Sep 2020 18:49:09 +0200 Subject: [PATCH] riorganizzazione cartelle --- addon.xml | 6 +++--- channels/animeunity.py | 3 +-- channels/paramount.py | 3 +-- channels/streamingcommunity.py | 5 ++--- channels/vedohd.py | 4 +--- channels/vvvvid.py | 8 ++++---- {specials => core}/autoplay.py | 0 {specials => core}/autorenumber.py | 0 {specials => core}/filtertools.py | 0 core/httptools.py | 2 +- {specials => core}/resolverdns.py | 0 core/servertools.py | 3 +++ core/support.py | 7 +++---- core/videolibrarytools.py | 4 ++-- {specials => platformcode}/backup.py | 0 {specials => platformcode}/checkhost.py | 0 .../elementum_download.py | 0 {specials => platformcode}/infoplus.py | 0 platformcode/launcher.py | 5 ++--- platformcode/platformtools.py | 6 ++---- {specials => platformcode}/shortcuts.py | 5 ++--- {specials => platformcode}/side_menu.py | 3 +-- updatetvshow.py => platformcode/updatetvshow.py | 0 dark-logo.png => resources/media/dark-logo.png | Bin fanart.jpg => resources/media/fanart.jpg | Bin .../media/light-logo.png | Bin logo.png => resources/media/logo.png | Bin .../media/{themes/ss/1.png => screenshot-1.png} | Bin .../media/{themes/ss/2.png => screenshot-2.png} | Bin .../media/{themes/ss/3.png => screenshot-3.png} | Bin servers/torrent.py | 4 ++-- sfondo.png | Bin 10560 -> 0 bytes specials/community.py | 2 -- specials/downloads.py | 5 ++--- specials/news.py | 2 +- specials/search.py | 3 ++- specials/tvmoviedb.py | 2 +- specials/videolibrary.py | 5 ++--- 38 files changed, 38 insertions(+), 49 deletions(-) rename {specials => core}/autoplay.py (100%) rename {specials => core}/autorenumber.py (100%) rename {specials => core}/filtertools.py (100%) rename {specials => core}/resolverdns.py (100%) rename {specials => platformcode}/backup.py (100%) rename {specials => platformcode}/checkhost.py (100%) rename {specials => platformcode}/elementum_download.py (100%) rename {specials => platformcode}/infoplus.py (100%) rename {specials => platformcode}/shortcuts.py (98%) rename {specials => platformcode}/side_menu.py (99%) rename updatetvshow.py => platformcode/updatetvshow.py (100%) rename dark-logo.png => resources/media/dark-logo.png (100%) rename fanart.jpg => resources/media/fanart.jpg (100%) rename light-logo.png => resources/media/light-logo.png (100%) rename logo.png => resources/media/logo.png (100%) rename resources/media/{themes/ss/1.png => screenshot-1.png} (100%) rename resources/media/{themes/ss/2.png => screenshot-2.png} (100%) rename resources/media/{themes/ss/3.png => screenshot-3.png} (100%) delete mode 100644 sfondo.png diff --git a/addon.xml b/addon.xml index 75c866df..3f0bb7ba 100644 --- a/addon.xml +++ b/addon.xml @@ -11,7 +11,7 @@ - + String.IsEqual(ListItem.dbtype,tvshow) @@ -21,8 +21,8 @@ Kodi on Demand is a Kodi add-on to search and watch contents on the web. Kodi on Demand รจ un addon di Kodi per cercare e guardare contenuti sul web. - logo.png - fanart.jpg + resources/media/logo.png + resources/media/fanart.jpg resources/media/themes/ss/1.png resources/media/themes/ss/2.png resources/media/themes/ss/3.png diff --git a/channels/animeunity.py b/channels/animeunity.py index 04f4d11e..e9e70610 100644 --- a/channels/animeunity.py +++ b/channels/animeunity.py @@ -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 diff --git a/channels/paramount.py b/channels/paramount.py index 5500383c..1f283ef6 100644 --- a/channels/paramount.py +++ b/channels/paramount.py @@ -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' diff --git a/channels/streamingcommunity.py b/channels/streamingcommunity.py index 60f3d180..9241ffcc 100644 --- a/channels/streamingcommunity.py +++ b/channels/streamingcommunity.py @@ -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 diff --git a/channels/vedohd.py b/channels/vedohd.py index 1550d7b9..619135de 100644 --- a/channels/vedohd.py +++ b/channels/vedohd.py @@ -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 = "" diff --git a/channels/vvvvid.py b/channels/vvvvid.py index e14af738..801713db 100644 --- a/channels/vvvvid.py +++ b/channels/vvvvid.py @@ -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() diff --git a/specials/autoplay.py b/core/autoplay.py similarity index 100% rename from specials/autoplay.py rename to core/autoplay.py diff --git a/specials/autorenumber.py b/core/autorenumber.py similarity index 100% rename from specials/autorenumber.py rename to core/autorenumber.py diff --git a/specials/filtertools.py b/core/filtertools.py similarity index 100% rename from specials/filtertools.py rename to core/filtertools.py diff --git a/core/httptools.py b/core/httptools.py index 47d2a9e5..850d44e9 100755 --- a/core/httptools.py +++ b/core/httptools.py @@ -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() diff --git a/specials/resolverdns.py b/core/resolverdns.py similarity index 100% rename from specials/resolverdns.py rename to core/resolverdns.py diff --git a/core/servertools.py b/core/servertools.py index 36e0ef74..b46ab412 100644 --- a/core/servertools.py +++ b/core/servertools.py @@ -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)) diff --git a/core/support.py b/core/support.py index 805b9918..489eb00a 100755 --- a/core/support.py +++ b/core/support.py @@ -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 diff --git a/core/videolibrarytools.py b/core/videolibrarytools.py index 7efb313b..e34c3607 100644 --- a/core/videolibrarytools.py +++ b/core/videolibrarytools.py @@ -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) diff --git a/specials/backup.py b/platformcode/backup.py similarity index 100% rename from specials/backup.py rename to platformcode/backup.py diff --git a/specials/checkhost.py b/platformcode/checkhost.py similarity index 100% rename from specials/checkhost.py rename to platformcode/checkhost.py diff --git a/specials/elementum_download.py b/platformcode/elementum_download.py similarity index 100% rename from specials/elementum_download.py rename to platformcode/elementum_download.py diff --git a/specials/infoplus.py b/platformcode/infoplus.py similarity index 100% rename from specials/infoplus.py rename to platformcode/infoplus.py diff --git a/platformcode/launcher.py b/platformcode/launcher.py index e9d2f862..727ab0e8 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -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 diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 6a544f24..e6391377 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -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'] diff --git a/specials/shortcuts.py b/platformcode/shortcuts.py similarity index 98% rename from specials/shortcuts.py rename to platformcode/shortcuts.py index c8a05776..0361bd0e 100644 --- a/specials/shortcuts.py +++ b/platformcode/shortcuts.py @@ -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): diff --git a/specials/side_menu.py b/platformcode/side_menu.py similarity index 99% rename from specials/side_menu.py rename to platformcode/side_menu.py index b4d4e962..bef22c2a 100644 --- a/specials/side_menu.py +++ b/platformcode/side_menu.py @@ -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 diff --git a/updatetvshow.py b/platformcode/updatetvshow.py similarity index 100% rename from updatetvshow.py rename to platformcode/updatetvshow.py diff --git a/dark-logo.png b/resources/media/dark-logo.png similarity index 100% rename from dark-logo.png rename to resources/media/dark-logo.png diff --git a/fanart.jpg b/resources/media/fanart.jpg similarity index 100% rename from fanart.jpg rename to resources/media/fanart.jpg diff --git a/light-logo.png b/resources/media/light-logo.png similarity index 100% rename from light-logo.png rename to resources/media/light-logo.png diff --git a/logo.png b/resources/media/logo.png similarity index 100% rename from logo.png rename to resources/media/logo.png diff --git a/resources/media/themes/ss/1.png b/resources/media/screenshot-1.png similarity index 100% rename from resources/media/themes/ss/1.png rename to resources/media/screenshot-1.png diff --git a/resources/media/themes/ss/2.png b/resources/media/screenshot-2.png similarity index 100% rename from resources/media/themes/ss/2.png rename to resources/media/screenshot-2.png diff --git a/resources/media/themes/ss/3.png b/resources/media/screenshot-3.png similarity index 100% rename from resources/media/themes/ss/3.png rename to resources/media/screenshot-3.png diff --git a/servers/torrent.py b/servers/torrent.py index 2b53ff27..abdc58bd 100755 --- a/servers/torrent.py +++ b/servers/torrent.py @@ -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') diff --git a/sfondo.png b/sfondo.png deleted file mode 100644 index 8cfdec3d8af3e38ca895709380f144dd40d92118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10560 zcmdsdbyQT*yY>hQh#)DcAcIJEN=kRPbV&(Ar-Y=4NSBnf(%m6Q2q*|hC<;;%(nt^R zz5ec9_y6y|yY5+QX3fCNKIiQH?&p1CqBPXx@o}ke5eNjnqJoST0&#`y-vb8&{&Gl5 ziG(-Q_BsY02C6E;RwyS93u~064Tq1D3;Z8}5S8$8v9NNq@wjVgV{7j$hTLxLMBcTx z7DMXut8%HjNZZ)iEBLwDX#1(@Sot|xJ+MYfh~tX-2*UtQHXasteVm>+y9@h>A^$V3 zFueZvXHMkZ|9r&5Q4DFIs&Q8u4 zIXS((y*a#jIZ$r4oZJr{JmBQw;pE|AhflD(`#O7A_^>;>)BhXdzs8WUakp}_ck!@C zIp6&^riCTS(?bl20zO|8M{%s{gMpyKavrXIg4cO_7PJH_!lh$(R%QnK-V{`B!%)F$Zcj|3 zt;5bK${<>sqOUqjw56jpdTXB7qVYaCX$S9tLAsf$TFS|cHT!M6;ChqkS~Q;nC|nQMBaaFG=3_-=$v&@YxyT6j@&)NZMQZs91qC zEqva`qNugx8vQ74-PMpJuivJC`StnbjJ_E661%?lao5EYitY9nIO`&!Mm z$?j@2ciTA3Jn{X{zA)}O4RtyR*sggQ-Vuk&yzZi4=#D_#Ao=&Wf_R-tfk50vD9T9c z_+)PW^na)`@tteO_Hh#d)5l)wR0?M#4IUu_=`|g#MK59^lw{g1KehNu>tfPtqx#b0 z8#3?GFtjz>!&at;?RW=O8p;t(m?GdWg+q&%FAOTdMvAJNF-Gjm z7i4Ld_ERnLyFNXWLWfHEm=5`n2@4Ak4-e-HQ$BDj_$v{CM~RGA2$Qln2>SZgD%sx=}aVqsxnD3z1({(Z7rx0nSfr9Po2&IGfC!=B`6JUfV`^Y!Fpjq6_w z4-fy@=DR=J?r#=wF!A-Bc6!M}1O<<^f`Y=wTFK4^*4EbWYCZWvP8W$8ba|UCOJPxV#Qc(lkpFL<xNOd4Igc8!^tSx--|tfA0>kDou_>C>9pT3CpR4P#P@zp_HS7#DIsLLHnU zmL@bV)4UujDk@fnvqXINmYQ4_?Q+5*e*OBDkdT1tIO*#NJ67HfHa9mXq@*-7Hoi?o zRkC4hP4z=|mF#Mwv_fd_oj5A|SmjlI8z-l%gaj=OjbCePiraYY1w}=Nu|eoXxNpa) zisk(ir2$F9jm^!Yjc()?p}bydWB>nb+( zxKO5HOG`_2b@lS{vZ<-*;BcY(yV6o@Z0zE~LS~V88oWtl9R-2=6h`E6|HwD&DfKbC z$dQ%eqN2W@p11GbjS6Kl(969Pa{sL&BNJ9bvgUZ@$`uxa$j};`7_-o884p#n_%0sZ z&zzIbzvJ${-`3XF?7lK4l;Y&z;Bfsv$NG9tXXF*hYkypJZp{-~8PwdWJ5X3u-lt0( zKCWzSJ)0=iHw!xVr0PFRfByV=Ss9zOw6qQ5Sg}s|P2IP#U&;ASs*aU$$1Q16-^Y92 z-Fov~&A?!~!ladtkMAwbbnkevdg(<*Lqo$_(4S=!GEUCQkPwWZpvw!My3fy{!gB&o z*Rs54HNB9C&{7=V^(u3EJVqLh(jdHn94Xdi$&(mr!N7}?6`k1ivZ^XB{(r{-%=R9A zv+-6Evvx>m=)Xm^?7{K-eEn(&8jXJc{=NIk@TdqTgT(n?Z7nV0cB@DNT5-R>cCf85 zF)?|0dHwzU;h83O*d3>~dfLt$Cj%N@dMgUpP7$JwYnt!jnpD8JhE9k>&AoZ^#<2Er3?*;G*fZFvqoboG8eyToMdm*dbh%>LyHJ0Y^i@|M z3A#L+(}~3hhN2*lK!54#qT}Fr)rKKL65YEpk`w#_OrTupTdBw%4+1Y9b0#<>69nsN4 zFK)4}|M~N-fyvCmA~!O!f1x)zT#Bv`6E^I^;$pgL5hs8LfQJ5(x*H`mb){Kn_UD(R z)T^>~^9rsS;zSiTT25j8iwum6+F3VWCnPMat(}~0cWOJmGIn#@qeivm?rf=%$H&Jj zr*haZ7mDw!73V+!>fIwI>Pr;W?Jv1v64qDQ6>@ovf5A26597RO77EAJ)m7&*Zl)1s zR%I?pE9&RJJuBwzeKZ$%7Bi+f7jTpn8HugTeDI936YaJ=+aA{S`0?Y5i;J?~^mFgo zrNrnBh}A7LIyP|8ZOL*X&>V6C4k>-xWRQmS4ikgPtPI50V}9GcEiXU#`xm{OYW9&p zQ(u3s)f?5Bt+Kz{Pn$Tmc5rZD!%umFWk+~I$HaWDu^F0Hen-&L-{08Sm?*>IZ8`psO)8rztfvddaqRfC z-^H9iM$#9tv%8zl9qO}$X+D&~K1h}3fIcg?*hg!UlKl8SQ5nbz*>k8EDp0YJNw51+ zh3;uRdh`fZt4B48oWs~aTU)x4{qY?UuZ=&Io%iv6@1H>Zmi_)9&`m_uFm)Dhg}9Y_ zu9J4Ij=P&a^X4zl=41+|nX`q3Bt@H5|ErF4YE>o{mKW&Zd8i7hir5h2$~g4Vo#0I7*B=$Mi3jo3_8^GPpe39aCvxm*4NibBi2?|ajy0_j_{ORlILdAv28_5o(yAPVBpZpBI6y@ zdP$>um&m29tgHkD1@-nVZVkM;fBR;CZ}@SMaQ>+;k;9&atLQ4pT*sf@H)z(|HyOFO z;IYYIQI3kuLYH*R6@(%X)177#V)<(c z+h{1Uk)eJx#d8V42p=?uhZ)+ZzJ8S<7I0fqXy9Gb>|~d^iH#wS*>!d7SR&`&*F(^+ zT`thR$?bSbg@uLn_4V;GKu>07W@@ttlyO!VDJUtcvlL@bors2gX#39Mu#~Zv|CCVJ zr?=q%)A+0qy;Bz*w?J%KS z!sRhbxXY}l>GfNqykQJRk{L}RIu}84y9|qlah*3}j-D493rCIY-t+d4b0O!Y zI60!ez;YFeA}on&BnvCU(DLD5)Y?QjQg1xA`lfymiHWfIb4S+#=ouv9bdnd;8q8s4NQ!T9kyyzbQi$M$XqOirx=2LugLtlp@`IT_ z>+3io0&u>8+Fqn}=pZ>Af;2NYdZ3`|_RUX5*pI&+KBl`z7JXe`MSGz{k`M0~dGE&t zezZnKZR`9I+n6~&zCj)3%TM1F!gfsF=H_xgndTB8Hpe8(O{&og-(-|!ihp>Tsv+4{ zA9qLy+{PoF6LYU#`fRi}PE_}np>Q%w8!=BoKK{+haEa%Q36r!}q8BB#BfqhIzN1YI z4!8zYgX`E5pM90+h>AS84`(=k5N`u(oIYmZlANoGPr8qya|3P&zPK7S*cDe zC)Atd3UzSwfFHSi78g=-Gi~63Hc)StrS=tD^>!n8Ui3B$`U-jHx1B#F+XHW{_8d zFGX(pVk?F|FivZvQMuzc$9CdBIy5viJ>7J~Uh@xXTm%#i4ZmfH@HNJ33wI-*p8jQ? zN&ov+0+!NxJ0hb;x%sVQcOJXB-Qtz6${?k{)j|!{lnQ{Cito!?pgjD!(9Q7pz7?afu(i?3*H_c zPrlWJbES=}1RZ{}{YzyT)zTt-VpEl$FP(gpqV?PbFT$EYIt4EYc@;5_=@5FX=Kh{F z)5{T9h?9*CgN2K=^}UnRlYqP8;@N1PCjX-?m^f$v$@%&8ifP1Czo{O|;vkX*=clo7 zLyyO$>*~r3Ya_VQhL&kWeKcgrHt}$APmdR4uZPMaHC0sbN>8d{TxQ40jT)zi zWm2B$h9NXEF*~11)6IG_Ot*|XuK(%^1wIzm^&yf#;^}eKn0H`fL&I#VH>WRpvfSuw zYA?p*`0OkrEiF#wv8`=w)=M_b3Mj)t%_fgDzO)bFzbLp0Yo(G5*i75~_}+1bnUJaA8>XULo1Puj!R3Uuu(0x?injoE>_P`BQ`WO z9rogJ!~23vdQP_)G=G6V=986MB}8-VfwjwQg7@IInwHjBiEgPK-&bnj*r5A?l`KUj zB`0rwtBq_=I(?|4Lpm?5vSh|O&GiuW%lDaIJ1aY3K1;UKb_Q+XeRnSo{!9s?W>siL z=3Rilg5XqZ8Z_TdPfN>`2)g(zICoE?puC)2R5a7Y{=r0@`-}hn(=YGyf7ER9n$m8tLNlE^5 zj>Khm_>H8F0?m4#-32uIX~_uL_H=dV*c}~R5?WeXYHDR6Gg8Fcz+fKdH?Uv7&PGb- zNMpN>44$y3k;&D^7Zu$Hu?AJEB;VZJY|`q*PDl4__kbuXGjnfm?{Irg-LuaaB)o%~ z7ei87+VKEmPMkM)nAH5~!JluR6sjdP!Vo)e2w(MUQuG}8ksCjKC*XE@aSkF>%LMtX ze^FLOCMhK)@OVD*{>zu0*6j}HypLMF z%3(!fcwL%}QK;?h&dZLrHgqU~_#4d;e0==Cz(9EBd!(NS{TDUYaSnPCNaYf%o?>!p zYGRP5b*vI9rmqT3&((AF#|p_c_hv2$vcrI@vC2&RHU3A=?(Xh;kv1aKypL6${5v+_ z4B4RZzyR1;v*1YmGe1vs`?jd}){j{>!5?40^1-W)bo!FqTuJ}?o6m{pNJqM)F7yTNwR*`*(b_=3hbtPGJ`@VCt0w3r3Pe++6p zlgDOoG++K5%{2D+nVD2hvkuGN7lC5z5m>sV4=D-&^up8+RVz`KSsE_7dc}T zJweOs6Qy8_J|hA>up zhNds*GUmA2-~E=m&L~mg9(>=+%?*q(t5(vP@85ZNc^TC*DTs-snjDUUN5{qzl9Tz} ze}7UJKau&?%*6Gv@4C&vDOm)?vrux)st7W+Sqy*VFUs>fyduKFpy=UXV`m3lf`N%C zCMrsiE`o~ymB*-_4LwgH;M7Cn=cktq|K$dP%w}LVw=XdRwNiQ!ingd#T`BzU5=0Id6E8K%oCoVO$wdv1e2L}g@8l9QFM^fItWx~eB zI&4p<1VjKsu%Y1)+*_~`m;4#&dk}Z--09Bx^#9{|7hojSet%?b4MyN^(CyaO!XhKV z^fhVmScA^@^U@P)G9@JiJUa0Fz_0_$a^Taaja^aj48W$^+_RLIkJMlSsQ)xFl3I^E zfKJBF#+H|#9~E@pA*#8h1q%xcy6-kPIZ5u_Z{FNxWGn_HYtk8LV)4guvTUtJFHZ(( zZ)fN8cU9BEVjg@ae^H0YGDFbVdn3lWx)Z)fY5b0pZBI|!W*VGuwTW@A&d<*$Cnx(K zZp4!`1fHJ)Q~|ONME$b`6z+X*@hr`x06{1r(OIfrSyWi)8F-#^iCzJqYPl-N&p+|? zD=9g-S-YR^=tvjGa+%2b>ME11{pZHHKoKUUx6oDnulf1-wCxXzkdcwWJOjEKb4<<7 z&i41)p8j2vK<`K&^_s@Kd}(ZA0ydgR<%f3_6&y|h(BGj?igCn=!^U)7?2EsYF(F>u z^%?7FYi~c=`Z*)U4d$c1{?zVbe`<2FNt=)6r2RFFXJ9MOAKroqg&P5+czS>v+dn=z z`P;1-P7W@6h9GJyFbRe(EiF~J2Ui>C`J1DZSVTnR&+4i%^fX3B`9LK}Nl6k$wWQ9} zoserce*F9iIJ-=q3xqW#WfHb42?>c!Z(3SfQ%j52oU<#)W?0s&)R83@A&3V=Y1G-s z=D;9}qz#Napqs$fao#l(6m0B`ChzpwwFHaO+l;8^L(9YIyz&-A za3&_vi2}vM*BKd+c$7833NW#6ek4dSUA1E?XD5yd2?=Rw6SC^VgZM&Tz8~yOColvG zTD!0&zDIXM??NJ_q^0S(xvPg-C#R={*w|D|OakEkvi@i@k@ofV!G(a^r_B0HMpJVX zY`DCWW zKfUnZZkK9p>uYLi z>gp!LOn0Mf+R3S@SxIqkb&OuW9xjEC9|QZqNbO~7tG~2#C^{?n^5Uq|(ZRtKfUd6Y z>)@c$UBZvoD=I5H1J7GRLosWw)q)$ImxqL~$kx^tOI=wl`~?>ai^Gp5*OQYI*!f!* zl>!0+met45g==mC#}tkH;Cp^B#mw)wyU_dkH5KrW!L^G>D0Tz3EjPwD{+2bukH>Br z09)F;`VmNhKFqUVj!-3^fPnbZ<1YgP1EAje5wOI(ytSZ-1|&wHQXCx}A&G&(`1$xq zy%dRwiD4nn(daZ2)Fs>#SPKC=n$z^U%s?s0)gUJV8~)E!<2W#!WPdfnlv;)MlE zL|hQT8+mZ)!3qb{KGQ&1`Nn1sP%3YT)*3_#wIJv~n1dVj@f(L}8)P}HF7w?qm!5qu zDL;SyEdT1`jQcRW`1)1n^y~q|8ct5-`T6;1xzdsnXeND6ib)Z$y1kawQBl`JSMC)P z%dW1iJqWr$+m2*!PFG9oy@U!xzfx6I#YfoL+iN#PcQHMqp9mju?`byLw)_g33av7i7XQ#4zz)y^75aPllNBys=JT;baizh zaEzI=f|)>oA*Lx7*VU7dnAmL0F_WdWCg$gNR&nt5&71chKfd+<4s6tzLw}NDjTKNn z0DZh$Y9YMVcn&Iv<;l?usx#nlgR(Yj?C{Xb=2q@rB$Hl+vAwyu%jS1}a`IH5J;&gS zZgIn=G`aADhtly*!u<4raAg zKMPv2pz&!chso)z|2B6$5ej0v__LR!iFfcH%b9SCRiBNKJse1KFE%xYz$o|fb9SZf2vaFB;nRl|YTixES+_8NC z9;Sr_U1*k;ABskfsTK#WRTy#^06gGtScrf6OFW0OR2fKMk&B}^R4|puSEZrKckiNL z@-{a&9UO3lNns{%D^n0IzusTb6Db^{CJ?)L@rp+5v;j{{jn`*+y4ni1Vb)n3a0|F> zpgF1TNs#VAiV})V(DL-kz~CS_@i{y;xC61ZKqO&~ii8XAnXsoYmE+Xc)dBya74@kC zyM2unxB_S%H8r)d?LQ`U4GjsTxxOq5(+C6>_rKo))S(ok>Tq%-g47P)>qjwf^ucC= zw#_Q43(N`Ppy^g^Ve5~Ch*i%fY(%S}pOqOmCwzNQs09{Aq^U=n4U}>^ zNOp*QK?VW4B2^Rgc5(69tOs}d>yoG>k41M_yZ=!_T?eel=L|vRl_ag9RuaGfPfyQ2 ziEJF^O{Ho0=%V)#I1la6(4m!^2;T#SOhrXi^P3hkI5m|VA?knl(&0XM97O??N%xC@ z>@jk$;U#ZrpV%Iard0ly)CA1_kUdp-=zT(2VYD?Fcd#TAQPQLp-B=3b3dUGfU~^t z`}d^po{XB>FvPnrV`8ittgx=G4u0fNQd07f`cbuIFH8}5ZKUFo^zyJ1 zAVG|ZQatK`bBF_t1T6q0T2l!R0eI>wN;8oE@E+_SdL**RxB{J#((Zb^GY@nNpmcy> z|L~CJft$6x{kzOG*o;u?T7KE?Qxzuv)PILUYjbmNUmvU|*im|uB(qPnn^|*plFLbfg@*51}8`e1z58Yb~&Y3ZLj z`*Ef_h0sGz7bCR|R108TXh;a48cTpC6DiQ8h{#BY%>DiRl;n9J-U*koaC584^p48U zw@Q7Ni;Q0dI{@sVR$B{z7_o#Y=FX% zkW5iutw~$$IgMc|-m&c;d;Vx>=fEXl3B^o{pppvJt&fgG^akU@se8C}JA z25^jabueU4VAL}*V(rXeA;kH6a6l{OC$pzGzq&eYQ&rI3ZZaQx_gri!c5RQ^9jse> zdpfl9H-_nN-_nbhsyy{mo#xH^S}T1QG99V62ed4@ZS&p SjQ#J2kBYKtG8IzhA^#7QS`z~R diff --git a/specials/community.py b/specials/community.py index f31c28d1..8ed31190 100644 --- a/specials/community.py +++ b/specials/community.py @@ -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: diff --git a/specials/downloads.py b/specials/downloads.py index aa719830..495ddf21 100644 --- a/specials/downloads.py +++ b/specials/downloads.py @@ -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) diff --git a/specials/news.py b/specials/news.py index ea3096fc..eecbf8f3 100644 --- a/specials/news.py +++ b/specials/news.py @@ -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=[] diff --git a/specials/search.py b/specials/search.py index 6052b655..c19d6c59 100644 --- a/specials/search.py +++ b/specials/search.py @@ -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) diff --git a/specials/tvmoviedb.py b/specials/tvmoviedb.py index b0ab08db..32042008 100644 --- a/specials/tvmoviedb.py +++ b/specials/tvmoviedb.py @@ -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: diff --git a/specials/videolibrary.py b/specials/videolibrary.py index 00ef56e5..a7685978 100644 --- a/specials/videolibrary.py +++ b/specials/videolibrary.py @@ -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)