Merge branch 'stable' of https://github.com/kodiondemand/addon into stable

This commit is contained in:
marco
2020-07-10 17:52:02 +02:00
4 changed files with 20 additions and 32 deletions

View File

@@ -132,8 +132,10 @@ def findvideos(item):
if 'sub' in lang.lower():
language = 'Sub-' + language
quality = url.split('/')[-1].split('?')[0]
url += "|User-Agent=" + support.httptools.get_user_agent()
itemlist.append(item.clone(action="play", title=language, url=url, contentLanguage = language, quality = quality, order = quality.replace('p','').zfill(4), server='directo',))
itemlist.sort(key=lambda x: (x.title, x.order), reverse=False)
return support.server(item, itemlist=itemlist)
return support.server(item, itemlist=itemlist)

View File

@@ -55,6 +55,6 @@ def search(item, text):
def findvideos(item):
url = support.match(item, patron=r'<a class="bot1" href="([^"]+)"').match
url = support.match(item, patron=r'<a class=["]?bot1["]? href="([^"]+)"').match
url = support.httptools.downloadpage(url, followredirect=True).url
return support.server(item, url)

View File

@@ -4,6 +4,7 @@
from core import httptools
from core import scrapertools
from platformcode import logger, config
from lib import jsunpack
def test_video_exists(page_url):
@@ -21,11 +22,14 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
video_urls = []
global data
# data = httptools.downloadpage(page_url).data
# enc_data = scrapertools.find_single_match(data, "text/javascript">(.+?)</script>")
# dec_data = jsunpack.unpack(enc_data)
sources = scrapertools.find_single_match(data, "<source(.*?)</source")
patron = 'src="([^"]+)'
matches = scrapertools.find_multiple_matches(sources, patron)
enc_data = scrapertools.find_single_match(data, r'text/javascript">(eval.+?)(?:\n|\s*</script>)')
if enc_data:
dec_data = jsunpack.unpack(enc_data)
matches = scrapertools.find_multiple_matches(dec_data, r'src:"([^"]+)"')
else:
sources = scrapertools.find_single_match(data, r"<source(.*?)</source")
patron = r'src="([^"]+)'
matches = scrapertools.find_multiple_matches(sources, patron)
for url in matches:
Type = 'm3u8'
video_url = url

View File

@@ -29,27 +29,20 @@ gc.disable()
info_language = ["de", "en", "es", "fr", "it", "pt"] # from videolibrary.json
def_lang = info_language[config.get_setting("info_language", "videolibrary")]
def mainlist(item):
logger.info()
itemlist = [Item(channel=item.channel, title=config.get_localized_string(70276), action='new_search', mode='all', thumbnail=get_thumb("search.png")),
Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30122), action='new_search', mode='movie', thumbnail=get_thumb("search_movie.png")),
Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(30123), action='new_search', mode='tvshow', thumbnail=get_thumb("search_tvshow.png")),
Item(channel=item.channel, title=config.get_localized_string(70741) % config.get_localized_string(70314), action='new_search', page=1, mode='person', thumbnail=get_thumb("search_star.png")),
Item(channel=item.channel, title=config.get_localized_string(59995), action='saved_search', thumbnail=get_thumb('search.png')),
Item(channel=item.channel, title=config.get_localized_string(60420), action='sub_menu', thumbnail=get_thumb('search.png')),
Item(channel=item.channel, title=typo(config.get_localized_string(59994), 'color kod bold'), action='opciones', thumbnail=get_thumb('setting_0.png')),
Item(channel=item.channel, title=typo(config.get_localized_string(59994), 'color kod bold'), action='setting_channel_new', thumbnail=get_thumb('setting_0.png')),
Item(channel='shortcuts', title=typo(config.get_localized_string(70286), 'color kod bold'), action='SettingOnPosition', category=5, setting=1, thumbnail=get_thumb('setting_0.png'))]
itemlist = set_context(itemlist)
return itemlist
@@ -57,31 +50,21 @@ def sub_menu(item):
logger.info()
itemlist = [Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70306), mode='movie', thumbnail=get_thumb("movie_genre.png")),
Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70742), mode='movie', thumbnail=get_thumb("movie_year.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70307), search_type='list', list_type='movie/popular', mode='movie', thumbnail=get_thumb("movie_popular.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70308), search_type='list', list_type='movie/top_rated', mode='movie', thumbnail=get_thumb("movie_top.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70309), search_type='list', list_type='movie/now_playing', mode='movie', thumbnail=get_thumb("movie_now_playing.png")),
Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70310), mode='tvshow', thumbnail=get_thumb("tvshow_genre.png")),
Item(channel=item.channel, action='years_menu', title=config.get_localized_string(70743), mode='tvshow', thumbnail=get_thumb("tvshow_year.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70311), search_type='list', list_type='tv/popular', mode='tvshow', thumbnail=get_thumb("popular.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70312), search_type='list', list_type='tv/on_the_air', mode='tvshow', thumbnail=get_thumb("tvshow_on_the_air.png")),
Item(channel=item.channel, action='discover_list', title=config.get_localized_string(70313), search_type='list', list_type='tv/top_rated', mode='tvshow', thumbnail=get_thumb("tvshow_top.png")),
Item(channel="tvmoviedb", action="mainlist", title=config.get_localized_string(70274), thumbnail=get_thumb("search.png"))]
itemlist = set_context(itemlist)
return itemlist
def saved_search(item):
logger.info()
@@ -416,16 +399,15 @@ def get_channels(item):
return channels_list, title_list
def opciones(item):
return setting_channel_new(item)
def settings(item):
return platformtools.show_channel_settings(caption=config.get_localized_string(59993))
def set_workers():
workers = config.get_setting('thread_number') if config.get_setting('thread_number') > 0 else None
return workers
def setting_channel_new(item):
import xbmcgui
@@ -521,8 +503,8 @@ def setting_channel_new(item):
# Dialog to select
ret = platformtools.dialog_multiselect(config.get_localized_string(59994), lista, preselect=preselect, useDetails=True)
if not ret:
return False # order cancel
if ret == None: return False # order cancel
seleccionados = [ids[i] for i in ret]
# Save changes to search channels