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
+2
View File
@@ -132,8 +132,10 @@ def findvideos(item):
if 'sub' in lang.lower(): if 'sub' in lang.lower():
language = 'Sub-' + language language = 'Sub-' + language
quality = url.split('/')[-1].split('?')[0] 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.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) itemlist.sort(key=lambda x: (x.title, x.order), reverse=False)
return support.server(item, itemlist=itemlist) return support.server(item, itemlist=itemlist)
+1 -1
View File
@@ -55,6 +55,6 @@ def search(item, text):
def findvideos(item): 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 url = support.httptools.downloadpage(url, followredirect=True).url
return support.server(item, url) return support.server(item, url)
+9 -5
View File
@@ -4,6 +4,7 @@
from core import httptools from core import httptools
from core import scrapertools from core import scrapertools
from platformcode import logger, config from platformcode import logger, config
from lib import jsunpack
def test_video_exists(page_url): def test_video_exists(page_url):
@@ -21,11 +22,14 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
video_urls = [] video_urls = []
global data global data
# data = httptools.downloadpage(page_url).data # data = httptools.downloadpage(page_url).data
# enc_data = scrapertools.find_single_match(data, "text/javascript">(.+?)</script>") enc_data = scrapertools.find_single_match(data, r'text/javascript">(eval.+?)(?:\n|\s*</script>)')
# dec_data = jsunpack.unpack(enc_data) if enc_data:
sources = scrapertools.find_single_match(data, "<source(.*?)</source") dec_data = jsunpack.unpack(enc_data)
patron = 'src="([^"]+)' matches = scrapertools.find_multiple_matches(dec_data, r'src:"([^"]+)"')
matches = scrapertools.find_multiple_matches(sources, patron) else:
sources = scrapertools.find_single_match(data, r"<source(.*?)</source")
patron = r'src="([^"]+)'
matches = scrapertools.find_multiple_matches(sources, patron)
for url in matches: for url in matches:
Type = 'm3u8' Type = 'm3u8'
video_url = url video_url = url
+7 -25
View File
@@ -29,27 +29,20 @@ gc.disable()
info_language = ["de", "en", "es", "fr", "it", "pt"] # from videolibrary.json info_language = ["de", "en", "es", "fr", "it", "pt"] # from videolibrary.json
def_lang = info_language[config.get_setting("info_language", "videolibrary")] def_lang = info_language[config.get_setting("info_language", "videolibrary")]
def mainlist(item): def mainlist(item):
logger.info() logger.info()
itemlist = [Item(channel=item.channel, title=config.get_localized_string(70276), action='new_search', mode='all', thumbnail=get_thumb("search.png")), 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(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(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(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(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=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='setting_channel_new', thumbnail=get_thumb('setting_0.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='shortcuts', title=typo(config.get_localized_string(70286), 'color kod bold'), action='SettingOnPosition', category=5, setting=1, 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) itemlist = set_context(itemlist)
return itemlist return itemlist
@@ -57,31 +50,21 @@ def sub_menu(item):
logger.info() logger.info()
itemlist = [Item(channel=item.channel, action='genres_menu', title=config.get_localized_string(70306), mode='movie', thumbnail=get_thumb("movie_genre.png")), 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='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(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(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='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='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='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(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(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=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"))] Item(channel="tvmoviedb", action="mainlist", title=config.get_localized_string(70274), thumbnail=get_thumb("search.png"))]
itemlist = set_context(itemlist) itemlist = set_context(itemlist)
return itemlist return itemlist
def saved_search(item): def saved_search(item):
logger.info() logger.info()
@@ -416,16 +399,15 @@ def get_channels(item):
return channels_list, title_list return channels_list, title_list
def opciones(item):
return setting_channel_new(item)
def settings(item): def settings(item):
return platformtools.show_channel_settings(caption=config.get_localized_string(59993)) return platformtools.show_channel_settings(caption=config.get_localized_string(59993))
def set_workers(): def set_workers():
workers = config.get_setting('thread_number') if config.get_setting('thread_number') > 0 else None workers = config.get_setting('thread_number') if config.get_setting('thread_number') > 0 else None
return workers return workers
def setting_channel_new(item): def setting_channel_new(item):
import xbmcgui import xbmcgui
@@ -521,8 +503,8 @@ def setting_channel_new(item):
# Dialog to select # Dialog to select
ret = platformtools.dialog_multiselect(config.get_localized_string(59994), lista, preselect=preselect, useDetails=True) 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] seleccionados = [ids[i] for i in ret]
# Save changes to search channels # Save changes to search channels