diff --git a/channels/la7.py b/channels/la7.py index bc8386f9..dfbe9ae0 100644 --- a/channels/la7.py +++ b/channels/la7.py @@ -4,14 +4,7 @@ # ------------------------------------------------------------ import requests -from core import support, httptools -import sys -if sys.version_info[0] >= 3: - from concurrent import futures - from urllib.parse import urlencode, quote -else: - from concurrent_py2 import futures - from urllib import urlencode, quote +from core import support DRM = 'com.widevine.alpha' key_widevine = "https://la7.prod.conax.cloud/widevine/license" @@ -31,32 +24,29 @@ headers = { icons = {'la7':'https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/LA7_-_Logo_2011.svg/512px-LA7_-_Logo_2011.svg.png', 'la7d': 'https://upload.wikimedia.org/wikipedia/it/e/ea/LA7d_LOGO_.png' } +titles = {'la7': support.typo('La7', 'bold'), 'la7d': support.typo('La7d', 'bold')} + @support.menu def mainlist(item): top = [('Dirette {bold}', ['', 'live']), ('Replay {bold}', ['', 'replay_channels'])] menu = [('Programmi TV {bullet bold}', ['/tutti-i-programmi', 'peliculas', '', 'tvshow']), - # ('Teche La7 {bullet bold}', ['/i-protagonisti', 'peliculas', '', 'tvshow']) - # ('Fiction / Serie TV {bullet bold}', ['5acfcb3c23eec6000d64a6a4', 'menu', ['Tutte','all','Fiction'], 'tvshow']), - # ('Programmi TV{ bullet bold}', ['', 'menu', ['Tutti','all','Programmi Tv'], 'tvshow']), - # ('Documentari {bullet bold}', ['5bfd17c423eec6001aec49f9', 'menu', ['Tutti','all','Documentari'], 'undefined']), - # ('Kids {bullet bold}', ['5acfcb8323eec6000d64a6b3', 'menu',['Tutti','all','Kids'], 'undefined']), - ] + ('Teche La7 {bullet bold}', ['/i-protagonisti', 'peliculas', '', 'tvshow'])] search = '' return locals() def live(item): - itemlist = [item.clone(title='La7', url= host + '/dirette-tv', action='play', forcethumb = True, thumbnail= icons['la7']), - item.clone(title='La7d', url= host + '/live-la7d', action='play', forcethumb = True, thumbnail= icons['la7d'])] + itemlist = [item.clone(title=titles['la7'], url= host + '/dirette-tv', action='play', forcethumb = True, thumbnail= icons['la7']), + item.clone(title=titles['la7d'], url= host + '/live-la7d', action='play', forcethumb = True, thumbnail= icons['la7d'])] return itemlist def replay_channels(item): - itemlist = [item.clone(title='La7', url= host + '/rivedila7/0/la7', action='replay_menu', forcethumb = True, thumbnail= icons['la7']), - item.clone(title='La7d', url= host + '/rivedila7/0/la7d', action='replay_menu', forcethumb = True, thumbnail= icons['la7d'])] + itemlist = [item.clone(title=titles['la7'], url= host + '/rivedila7/0/la7', action='replay_menu', forcethumb = True, thumbnail= icons['la7']), + item.clone(title=titles['la7d'], url= host + '/rivedila7/0/la7d', action='replay_menu', forcethumb = True, thumbnail= icons['la7d'])] return itemlist @@ -113,15 +103,18 @@ def episodios(item): item.url += '/video' data = support.match(item).data - patron = r'[^>]+>
[^>]+>[^>]+>[^>]+>(?:[^>]+>)?(?:[^>]+>)?\s*(?P[^<]+)<(?:[^>]+>[^>]+>[^>]+><div class="data">(?P<date>[^<]+))?' + patron = r'(?:<a href="(?P<url>[^"]+)">[^>]+><div class="[^"]+" data-background-image="(?P<t>[^"]*)">[^>]+>[^>]+>[^>]+>(?:[^>]+>)?(?:[^>]+>)?\s*(?P<title>[^<]+)<(?:[^>]+>[^>]+>[^>]+><div class="data">(?P<date>[^<]+))?|class="heading">[^>]+>(?P<Title>[^<]+).*?window.shareUrl = "(?P<Url>[^"]+)".*?poster:\s*"(?P<Thumb>[^"]+)", title: "(?P<desc>[^"]+)")' patronNext = r'<a href="([^"]+)">›' addVideolibrary = False def itemHook(item): + if item.Thumb: item.t = item.Thumb item.thumbnail = 'http:' + item.t if item.t.startswith('//') else item.t if item.t else item.thumbnail + if item.Title: item.title = support.typo(item.Title, 'bold') if item.date: item.title = support.re.sub(r'[Pp]untata (?:del )?\d+/\d+/\d+', '', item.title) item.title += support.typo(item.date, '_ [] bold') + if item.desc: item.plot = item.desc item.forcethumb = True item.fanart = item.thumbnail return item diff --git a/channels/mediasetplay.py b/channels/mediasetplay.py index 45d92c51..a6208079 100644 --- a/channels/mediasetplay.py +++ b/channels/mediasetplay.py @@ -4,13 +4,11 @@ # ------------------------------------------------------------ import requests -from core import support, httptools +from core import support import sys if sys.version_info[0] >= 3: - from concurrent import futures from urllib.parse import urlencode, quote else: - from concurrent_py2 import futures from urllib import urlencode, quote current_session = requests.Session() @@ -174,7 +172,7 @@ def findvideos(item): def play(item): support.log() for url in item.url: - url = httptools.downloadpage(url, allow_redirects=True).url + url = support.httptools.downloadpage(url, allow_redirects=True).url if '.mpd' in url: data = url return support.servertools.find_video_items(item, data=data) diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index 2839c2d3..ab84ceb1 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -1125,19 +1125,19 @@ def install_widevine(): # if Widevine CDM is outdated elif platform['os'] != 'android': - select = dialog_yesno(config.get_localized_string(70810),config.get_localized_string(70809)) - if select > 0: - if not 'arm' in platform['arch']: - last_version = downloadpage('https://dl.google.com/widevine-cdm/versions.txt').data.split()[-1] - current_version = jsontools.load(open(os.path.join(path, 'manifest.json')).read())['version'] - if LooseVersion(last_version) > LooseVersion(current_version): - download_widevine(last_version, platform, path) - else: - devices = jsontools.load(downloadpage('https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.json').data) - current_version = jsontools.load(open(os.path.join(path, 'config.json')).read())['version'] - last_version = best_chromeos_image(devices)['version'] - if LooseVersion(last_version) > LooseVersion(current_version): - download_chromeos_image(devices, platform, path) + if not 'arm' in platform['arch']: + last_version = downloadpage('https://dl.google.com/widevine-cdm/versions.txt').data.split()[-1] + current_version = jsontools.load(open(os.path.join(path, 'manifest.json')).read())['version'] + if LooseVersion(last_version) > LooseVersion(current_version): + select = dialog_yesno(config.get_localized_string(70810),config.get_localized_string(70809)) + if select > 0: download_widevine(last_version, platform, path) + else: + devices = jsontools.load(downloadpage('https://dl.google.com/dl/edgedl/chromeos/recovery/recovery.json').data) + current_version = jsontools.load(open(os.path.join(path, 'config.json')).read())['version'] + last_version = best_chromeos_image(devices)['version'] + if LooseVersion(last_version) > LooseVersion(current_version): + select = dialog_yesno(config.get_localized_string(70810),config.get_localized_string(70809)) + if select > 0:download_chromeos_image(devices, platform, path) def download_widevine(version, platform, path): diff --git a/specials/filmontv.py b/specials/filmontv.py index e347ffc8..970b36d5 100644 --- a/specials/filmontv.py +++ b/specials/filmontv.py @@ -309,7 +309,8 @@ def new_search(item): def live(item): itemlist = [] - from channels import raiplay, mediasetplay + from channels import raiplay, mediasetplay, la7 itemlist += raiplay.live(raiplay.mainlist(Item())[0]) itemlist += mediasetplay.live(mediasetplay.mainlist(Item())[0]) + itemlist += la7.live(la7.mainlist(Item())[0]) return itemlist