From 70702fd298dca7f3f4a619080c5af6f65a69cb90 Mon Sep 17 00:00:00 2001 From: Paco8 <5084042+Paco8@users.noreply.github.com> Date: Thu, 26 Sep 2024 13:31:38 +0200 Subject: [PATCH] Version 0.9.11 --- addon.xml | 2 +- resources/lib/iptv.py | 12 ++++-------- resources/lib/movistar.py | 13 ++++++++++--- resources/lib/plugin.py | 14 ++++++++++++-- 4 files changed, 27 insertions(+), 14 deletions(-) diff --git a/addon.xml b/addon.xml index 06ecf0a..ce1609d 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/resources/lib/iptv.py b/resources/lib/iptv.py index 58a1a82..fc8d247 100644 --- a/resources/lib/iptv.py +++ b/resources/lib/iptv.py @@ -80,17 +80,13 @@ def save_iptv_settings(filename, name, addon_id, epg_url=None): true false''' - if epg_url: - content += ''' - false''' - else: - content += ''' - true''' + content += ''' + true + &start_time={utc}&end_time={utcend} + 2''' content += ''' - 5 - 0 0 0 false diff --git a/resources/lib/movistar.py b/resources/lib/movistar.py index 30e1f64..d1fea59 100644 --- a/resources/lib/movistar.py +++ b/resources/lib/movistar.py @@ -809,6 +809,10 @@ class Movistar(object): t['id'] = ed['Id'] t['info']['title'] = ed['Titulo'] t['art']['poster'] = ed.get('Imagen', '').replace('ywcatalogov', 'dispficha') + if 'Imagenes' in ed: + for i in ed['Imagenes']: + if i['id'] == 'detail': + t['art']['poster'] = i['uri'] t['art']['thumb'] = t['art']['poster'] t['info']['genre'] = ed['GeneroComAntena'] if ed.get('TipoComercial') == 'Impulsivo': return None # Alquiler @@ -1312,6 +1316,7 @@ class Movistar(object): t['preset'] = c['dial'] args = urlencode({'action': 'play', 'stype': 'tv', 'id': c['id'], 'url': c['url'], 'session_request': c['session_request']}) t['stream'] = 'plugin://plugin.video.movistarplus/?' + args + if 'cas_id' in c: t['cas_id'] = c['cas_id'] res.append(t) return res @@ -1320,8 +1325,10 @@ class Movistar(object): items = [] for t in channels: if only_subscribed and not t['subscribed']: continue - item = '#EXTINF:-1 tvg-name="{name}" tvg-id="{id}" tvg-logo="{logo}" tvg-chno="{preset}" group-title="Movistar+" catchup="vod",{name}\n{stream}\n\n'.format( - name=t['name'], id=t['id'], logo=t['logo'], preset=t['preset'], stream=t['stream']) + url = t['stream'] + if 'cas_id' in t: url += '&cas_id=' + t['cas_id'] + item = '#EXTINF:-1 tvg-name="{name}" tvg-id="{id}" tvg-logo="{logo}" tvg-chno="{preset}" group-title="Movistar+",{name}\n{stream}\n\n'.format( + name=t['name'], id=t['id'], logo=t['logo'], preset=t['preset'], stream=url) items.append(item) res = '#EXTM3U\n## Movistar+\n{}'.format(''.join(items)) with io.open(filename, 'w', encoding='utf-8', newline='') as handle: @@ -1421,7 +1428,7 @@ class Movistar(object): if url: url = url.replace('&', '&') res.append('\n' + ' {}\n'.format(html_escape(e['title'])) + ' {}\n'.format(html_escape(e['subtitle']))) diff --git a/resources/lib/plugin.py b/resources/lib/plugin.py index 7daed05..4f73cd4 100644 --- a/resources/lib/plugin.py +++ b/resources/lib/plugin.py @@ -93,6 +93,16 @@ def play(params): else: url = d['url'] + # U7D from start and end times + if stype == 'tv' and all(param in params for param in ['cas_id', 'start_time', 'end_time']): + from datetime import datetime + start = datetime.utcfromtimestamp(int(params['start_time'])) + end = datetime.utcfromtimestamp(int(params['end_time'])) + catchup_url = 'https://stover-wp21.cdn.telefonica.com/{cas_id}/vxfmt=dp/Manifest.mpd?device_profile=DASH_TV_WIDEVINE&start_time={start_time}&end_time={end_time}' + url = catchup_url.format(cas_id=params['cas_id'], start_time=start.strftime('%Y-%m-%dT%H:%M:%SZ'), end_time=end.strftime('%Y-%m-%dT%H:%M:%SZ')) + LOG('url from capchup: {}'.format(url)) + + # Read the proxy address proxy = Movistar.load_file_if_exists(os.path.join(profile_dir, 'proxy.txt')) LOG('proxy address: {}'.format(proxy)) @@ -372,7 +382,7 @@ def add_videos(category, ctype, videos, ref=None, url_next=None, url_prev=None, if url_next: list_item = xbmcgui.ListItem(label = addon.getLocalizedString(30109)) # Next page - xbmcplugin.addDirectoryItem(_handle, get_url(action=ref, url=url_next, name=category), list_item, True) + xbmcplugin.addDirectoryItem(_handle, get_url(action=ref, url=url_next, from_wishlist=from_wishlist, name=category), list_item, True) xbmcplugin.endOfDirectory(_handle) @@ -781,7 +791,7 @@ def router(paramstring): elif params['action'] == 'listing': listing(params['name'], params['url']) elif params['action'] == 'listing_hz': - listing_hz(params['name'], params['url']) + listing_hz(params['name'], params['url'], params.get('from_wishlist')) elif params['action'] == 'series': add_videos(params['name'], 'seasons', m.get_seasons(params['id'])) elif params['action'] == 'season':