From 1de176dce97567d768675722b4be258658fa4be1 Mon Sep 17 00:00:00 2001 From: Paco8 <5084042+Paco8@users.noreply.github.com> Date: Mon, 6 Mar 2023 14:35:29 +0100 Subject: [PATCH] Version 0.6.6 --- README.md | 3 +- addon.xml | 2 +- .../resource.language.en_gb/strings.po | 12 +++++++ .../resource.language.es_es/strings.po | 12 +++++++ resources/lib/movistar.py | 2 +- resources/lib/plugin.py | 33 ++++++++++++++----- resources/settings.xml | 5 +-- 7 files changed, 55 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 3af2925..0f29fb2 100644 --- a/README.md +++ b/README.md @@ -81,8 +81,7 @@ Una vez instalado IPTV Simple Client vamos a los ajustes de Movistarplus. - En la sección **IPTV** activamos la opción **Exportar automáticamente canales y guía para IPTV**. - En la opción **Guardar en esta carpeta** tenemos que seleccionar una carpeta donde se guardará esa información. Puedes usar la carpeta `download` o cualquier otra, o crear una nueva. -- Hecho esto salimos de Kodi y volvemos a entrar. -- Esperamos unos segundos hasta que aparezca una notificación en la parte superior izquierda indicando que Movistarplus ha exportado los canales y la guía. +- Seleccionamos la opción **Exportar los canales y la guía ahora** y esperamos unos segundos hasta que aparezca una notificación en la parte superior izquierda indicando que se han exportado los canales y la guía. - Entramos otra vez en los ajustes de Movistarplus. - En la sección **IPTV** seleccionamos **Abrir la configuración de IPTV Simple**. - (**Kodi 20**) Seleccionamos "Añadir configuración de Addon". En la nueva ventana, en nombre le ponemos por ejemplo `Movistarplus`. diff --git a/addon.xml b/addon.xml index d8c0a95..625409d 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 0205547..2a55f64 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -316,3 +316,15 @@ msgstr "" msgctxt "#30311" msgid "Exporting EPG" msgstr "" + +msgctxt "#30312" +msgid "Export channels and EPG now" +msgstr "" + +msgctxt "#30320" +msgid "Rating: {}" +msgstr "" + +msgctxt "#30321" +msgid "Show age rating before playback" +msgstr "" diff --git a/resources/language/resource.language.es_es/strings.po b/resources/language/resource.language.es_es/strings.po index 2bc172a..5188c41 100644 --- a/resources/language/resource.language.es_es/strings.po +++ b/resources/language/resource.language.es_es/strings.po @@ -312,3 +312,15 @@ msgstr "Exportando canales" msgctxt "#30311" msgid "Exporting EPG" msgstr "Exportando guía" + +msgctxt "#30312" +msgid "Export channels and EPG now" +msgstr "Exportar los canales y la guía ahora" + +msgctxt "#30320" +msgid "Rating: {}" +msgstr "Calificación: {}" + +msgctxt "#30321" +msgid "Show age rating before playback" +msgstr "Mostrar la calificación de edades al empezar la reproducción" diff --git a/resources/lib/movistar.py b/resources/lib/movistar.py index 5285c97..5406004 100644 --- a/resources/lib/movistar.py +++ b/resources/lib/movistar.py @@ -156,7 +156,7 @@ class Movistar(object): self.entitlements['partners'] = data['partners'] self.entitlements['activePackages'] = data['activePackages'] self.entitlements['vodSubscription'] = data['vodSubscription'].split(',') - self.entitlements['linearSubscription'] = data['linearSubscription'].split(',') + self.entitlements['linearSubscription'] = data['linearSubscription'].split(',') if data['linearSubscription'] else [] self.entitlements['suscripcion'] = data['suscripcion'] #print_json(self.entitlements) self.logged = True diff --git a/resources/lib/plugin.py b/resources/lib/plugin.py index eb3800c..ab9d253 100644 --- a/resources/lib/plugin.py +++ b/resources/lib/plugin.py @@ -352,17 +352,19 @@ def list_epg(params): def listing(name, url): data = m.download_list(url, use_hz=False) - l = m.get_list(data['Contenidos']) - url_next = data['next']['href'] if isinstance(data['next'], dict) and 'href' in data['next'] else None - url_prev = data['prev']['href'] if isinstance(data['next'], dict) and 'prev' in data['next'] else None - add_videos(name, 'movies', l, url_next=url_next, url_prev=url_prev, ref='listing') + if 'Contenidos' in data: + l = m.get_list(data['Contenidos']) + url_next = data['next']['href'] if isinstance(data['next'], dict) and 'href' in data['next'] else None + url_prev = data['prev']['href'] if isinstance(data['next'], dict) and 'prev' in data['next'] else None + add_videos(name, 'movies', l, url_next=url_next, url_prev=url_prev, ref='listing') def listing_hz(name, url): data = m.download_list(url, use_hz=True) - l = m.get_list(data['Contenidos']) - url_next = data['next']['href'] if isinstance(data['next'], dict) and 'href' in data['next'] else None - url_prev = data['prev']['href'] if isinstance(data['next'], dict) and 'prev' in data['next'] else None - add_videos(name, 'movies', l, url_next=url_next, url_prev=url_prev, ref='listing_hz') + if 'Contenidos' in data: + l = m.get_list(data['Contenidos']) + url_next = data['next']['href'] if isinstance(data['next'], dict) and 'href' in data['next'] else None + url_prev = data['prev']['href'] if isinstance(data['next'], dict) and 'prev' in data['next'] else None + add_videos(name, 'movies', l, url_next=url_next, url_prev=url_prev, ref='listing_hz') def list_vod(): open_folder(addon.getLocalizedString(30111)) # VOD @@ -489,6 +491,19 @@ def iptv(params): #except: # pass +def export_epg_now(): + if not m.logged: return + folder = addon.getSetting('epg_folder') + if sys.version_info[0] > 2: + folder = bytes(folder, 'utf-8') + if not folder or not os.path.isdir(folder): return + channels_filename = os.path.join(folder, b"movistar-channels.m3u8") + epg_filename = os.path.join(folder, b"movistar-epg.xml") + show_notification(addon.getLocalizedString(30310), xbmcgui.NOTIFICATION_INFO) + m.export_channels_to_m3u8(channels_filename) + show_notification(addon.getLocalizedString(30311), xbmcgui.NOTIFICATION_INFO) + m.export_epg_to_xml(epg_filename) + def router(paramstring): """ Router function that calls other functions @@ -546,6 +561,8 @@ def router(paramstring): list_vod() elif params['action'] == 'search': search(params) + elif params['action'] == 'export_epg_now': + export_epg_now() elif 'iptv' in params['action']: iptv(params) else: diff --git a/resources/settings.xml b/resources/settings.xml index 30fdf7a..a25ffe7 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -34,8 +34,9 @@ - - + + +