Version 0.9.11
This commit is contained in:
1 parent
5ed25e7243
commit
70702fd298
4 files changed
+26
-13
No files matched your search
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.movistarplus"
|
<addon id="plugin.video.movistarplus"
|
||||||
name="Movistar+"
|
name="Movistar+"
|
||||||
version="0.9.10"
|
version="0.9.11"
|
||||||
provider-name="Paco8">
|
provider-name="Paco8">
|
||||||
<requires>
|
<requires>
|
||||||
<!--- <import addon="xbmc.python" version="2.25.0"/> -->
|
<!--- <import addon="xbmc.python" version="2.25.0"/> -->
|
||||||
|
|||||||
@@ -80,17 +80,13 @@ def save_iptv_settings(filename, name, addon_id, epg_url=None):
|
|||||||
<setting id="timeshiftEnabledUdp" default="true">true</setting>
|
<setting id="timeshiftEnabledUdp" default="true">true</setting>
|
||||||
<setting id="timeshiftEnabledCustom" default="true">false</setting>'''
|
<setting id="timeshiftEnabledCustom" default="true">false</setting>'''
|
||||||
|
|
||||||
if epg_url:
|
|
||||||
content += '''
|
content += '''
|
||||||
<setting id="catchupEnabled" default="true">false</setting>'''
|
<setting id="catchupEnabled">true</setting>
|
||||||
else:
|
<setting id="catchupQueryFormat">&start_time={utc}&end_time={utcend}</setting>
|
||||||
content += '''
|
<setting id="allChannelsCatchupMode">2</setting>'''
|
||||||
<setting id="catchupEnabled">true</setting>'''
|
|
||||||
|
|
||||||
content += '''
|
content += '''
|
||||||
<setting id="catchupQueryFormat" default="true" />
|
|
||||||
<setting id="catchupDays" default="true">5</setting>
|
<setting id="catchupDays" default="true">5</setting>
|
||||||
<setting id="allChannelsCatchupMode" default="true">0</setting>
|
|
||||||
<setting id="catchupOverrideMode" default="true">0</setting>
|
<setting id="catchupOverrideMode" default="true">0</setting>
|
||||||
<setting id="catchupCorrection" default="true">0</setting>
|
<setting id="catchupCorrection" default="true">0</setting>
|
||||||
<setting id="catchupPlayEpgAsLive" default="true">false</setting>
|
<setting id="catchupPlayEpgAsLive" default="true">false</setting>
|
||||||
|
|||||||
@@ -809,6 +809,10 @@ class Movistar(object):
|
|||||||
t['id'] = ed['Id']
|
t['id'] = ed['Id']
|
||||||
t['info']['title'] = ed['Titulo']
|
t['info']['title'] = ed['Titulo']
|
||||||
t['art']['poster'] = ed.get('Imagen', '').replace('ywcatalogov', 'dispficha')
|
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['art']['thumb'] = t['art']['poster']
|
||||||
t['info']['genre'] = ed['GeneroComAntena']
|
t['info']['genre'] = ed['GeneroComAntena']
|
||||||
if ed.get('TipoComercial') == 'Impulsivo': return None # Alquiler
|
if ed.get('TipoComercial') == 'Impulsivo': return None # Alquiler
|
||||||
@@ -1312,6 +1316,7 @@ class Movistar(object):
|
|||||||
t['preset'] = c['dial']
|
t['preset'] = c['dial']
|
||||||
args = urlencode({'action': 'play', 'stype': 'tv', 'id': c['id'], 'url': c['url'], 'session_request': c['session_request']})
|
args = urlencode({'action': 'play', 'stype': 'tv', 'id': c['id'], 'url': c['url'], 'session_request': c['session_request']})
|
||||||
t['stream'] = 'plugin://plugin.video.movistarplus/?' + args
|
t['stream'] = 'plugin://plugin.video.movistarplus/?' + args
|
||||||
|
if 'cas_id' in c: t['cas_id'] = c['cas_id']
|
||||||
res.append(t)
|
res.append(t)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@@ -1320,8 +1325,10 @@ class Movistar(object):
|
|||||||
items = []
|
items = []
|
||||||
for t in channels:
|
for t in channels:
|
||||||
if only_subscribed and not t['subscribed']: continue
|
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(
|
url = t['stream']
|
||||||
name=t['name'], id=t['id'], logo=t['logo'], preset=t['preset'], stream=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)
|
items.append(item)
|
||||||
res = '#EXTM3U\n## Movistar+\n{}'.format(''.join(items))
|
res = '#EXTM3U\n## Movistar+\n{}'.format(''.join(items))
|
||||||
with io.open(filename, 'w', encoding='utf-8', newline='') as handle:
|
with io.open(filename, 'w', encoding='utf-8', newline='') as handle:
|
||||||
@@ -1421,7 +1428,7 @@ class Movistar(object):
|
|||||||
if url:
|
if url:
|
||||||
url = url.replace('&', '&')
|
url = url.replace('&', '&')
|
||||||
res.append('<programme start="{}" stop="{}" channel="{}"'.format(start, stop, ch['id']) +
|
res.append('<programme start="{}" stop="{}" channel="{}"'.format(start, stop, ch['id']) +
|
||||||
(' catchup-id="{}"'.format(url) if url else "") +
|
#(' catchup-id="{}"'.format(url) if url else "") +
|
||||||
'>\n' +
|
'>\n' +
|
||||||
' <title>{}</title>\n'.format(html_escape(e['title'])) +
|
' <title>{}</title>\n'.format(html_escape(e['title'])) +
|
||||||
' <sub-title>{}</sub-title>\n'.format(html_escape(e['subtitle'])))
|
' <sub-title>{}</sub-title>\n'.format(html_escape(e['subtitle'])))
|
||||||
|
|||||||
+12
-2
@@ -93,6 +93,16 @@ def play(params):
|
|||||||
else:
|
else:
|
||||||
url = d['url']
|
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
|
# Read the proxy address
|
||||||
proxy = Movistar.load_file_if_exists(os.path.join(profile_dir, 'proxy.txt'))
|
proxy = Movistar.load_file_if_exists(os.path.join(profile_dir, 'proxy.txt'))
|
||||||
LOG('proxy address: {}'.format(proxy))
|
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:
|
if url_next:
|
||||||
list_item = xbmcgui.ListItem(label = addon.getLocalizedString(30109)) # Next page
|
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)
|
xbmcplugin.endOfDirectory(_handle)
|
||||||
|
|
||||||
@@ -781,7 +791,7 @@ def router(paramstring):
|
|||||||
elif params['action'] == 'listing':
|
elif params['action'] == 'listing':
|
||||||
listing(params['name'], params['url'])
|
listing(params['name'], params['url'])
|
||||||
elif params['action'] == 'listing_hz':
|
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':
|
elif params['action'] == 'series':
|
||||||
add_videos(params['name'], 'seasons', m.get_seasons(params['id']))
|
add_videos(params['name'], 'seasons', m.get_seasons(params['id']))
|
||||||
elif params['action'] == 'season':
|
elif params['action'] == 'season':
|
||||||
|
|||||||
Reference in new issue
Block a user