Merge remote-tracking branch 'alfa-addon/master'
This commit is contained in:
@@ -139,6 +139,23 @@ def run(controller, path):
|
|||||||
logger.error(traceback.format_exc())
|
logger.error(traceback.format_exc())
|
||||||
show_error_message(traceback.format_exc())
|
show_error_message(traceback.format_exc())
|
||||||
|
|
||||||
|
def show_error_message(err_info):
|
||||||
|
from core import scrapertools
|
||||||
|
patron = 'File "' + os.path.join(config.get_runtime_path(), "channels", "").replace("\\", "\\\\") + '([^.]+)\.py"'
|
||||||
|
canal = scrapertools.find_single_match(err_info, patron)
|
||||||
|
if canal:
|
||||||
|
platformtools.dialog_ok(
|
||||||
|
"Se ha producido un error en el canal " + canal,
|
||||||
|
"Esto puede ser devido a varias razones: \n \
|
||||||
|
- El servidor no está disponible, o no esta respondiendo.\n \
|
||||||
|
- Cambios en el diseño de la web.\n \
|
||||||
|
- Etc...\n \
|
||||||
|
Comprueba el log para ver mas detalles del error.")
|
||||||
|
else:
|
||||||
|
platformtools.dialog_ok(
|
||||||
|
"Se ha producido un error en Alfa",
|
||||||
|
"Comprueba el log para ver mas detalles del error.")
|
||||||
|
|
||||||
|
|
||||||
def start(fnc_info):
|
def start(fnc_info):
|
||||||
server.fnc_info = fnc_info
|
server.fnc_info = fnc_info
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.alfa" name="Alfa" version="2.5.24" provider-name="Alfa Addon">
|
<addon id="plugin.video.alfa" name="Alfa" version="2.5.25" provider-name="Alfa Addon">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.libtorrent" optional="true"/>
|
<import addon="script.module.libtorrent" optional="true"/>
|
||||||
@@ -19,8 +19,13 @@
|
|||||||
</assets>
|
</assets>
|
||||||
<news>[B]Estos son los cambios para esta versión:[/B]
|
<news>[B]Estos son los cambios para esta versión:[/B]
|
||||||
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
|
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
|
||||||
|
¤ newpct1 ¤ novelashdgratis
|
||||||
|
¤ poseidonhd ¤ doramasmp4
|
||||||
|
¤ novelashdgratis ¤ cinecalidad
|
||||||
¤ arreglos internos
|
¤ arreglos internos
|
||||||
|
|
||||||
|
¤ Agradecimientos a @MrTruth0, @cpradof, @pixo206 por colaborar en ésta versión
|
||||||
|
|
||||||
</news>
|
</news>
|
||||||
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
|
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
|
||||||
<summary lang="en">Browse web pages using Kodi</summary>
|
<summary lang="en">Browse web pages using Kodi</summary>
|
||||||
|
|||||||
@@ -315,9 +315,12 @@ def findvideos(item):
|
|||||||
server = 'thevideome'
|
server = 'thevideome'
|
||||||
url = server_url[server_id] + video_id + '.html'
|
url = server_url[server_id] + video_id + '.html'
|
||||||
elif server_id == 'BitTorrent':
|
elif server_id == 'BitTorrent':
|
||||||
base_url = 'http://www.cinecalidad.to/protect/contenido.php'
|
import urllib
|
||||||
post = 'i=%s&title=%s' % (video_id, item.contentTitle)
|
base_url = 'http://www.cinecalidad.to/protect/v.php'
|
||||||
protect = httptools.downloadpage(base_url, post=post).data
|
post = {'i':video_id, 'title':item.title}
|
||||||
|
post = urllib.urlencode(post)
|
||||||
|
headers = {'Referer':item.url}
|
||||||
|
protect = httptools.downloadpage(base_url+'?'+post, headers=headers).data
|
||||||
url = scrapertools.find_single_match(protect, 'value="(magnet.*?)"')
|
url = scrapertools.find_single_match(protect, 'value="(magnet.*?)"')
|
||||||
server = 'torrent'
|
server = 'torrent'
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -1,471 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "descargas2020",
|
|
||||||
"name": "Descargas2020",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["cast", "lat"],
|
|
||||||
"thumbnail": "http://descargas2020.com/d20/library/content/template/images/_logod2020.png",
|
|
||||||
"banner": "",
|
|
||||||
"categories": [
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"anime",
|
|
||||||
"torrent",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id": "divxtotal",
|
"id": "divxtotal",
|
||||||
"name": "Divxtotal",
|
"name": "Divxtotal",
|
||||||
"active": true,
|
"active": false,
|
||||||
"adult": false,
|
"adult": false,
|
||||||
"language": ["cast"],
|
"language": ["cast"],
|
||||||
"thumbnail": "http://imgur.com/Madj03A.jpg",
|
"thumbnail": "http://imgur.com/Madj03A.jpg",
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ def mainlist(item):
|
|||||||
itemlist.append(Item(channel=item.channel, title="Películas", action="list_all",
|
itemlist.append(Item(channel=item.channel, title="Películas", action="list_all",
|
||||||
url=host + 'catalogue?format=pelicula', thumbnail=get_thumb('movies', auto=True),
|
url=host + 'catalogue?format=pelicula', thumbnail=get_thumb('movies', auto=True),
|
||||||
type='movie'))
|
type='movie'))
|
||||||
itemlist.append(Item(channel=item.channel, title = 'Buscar', action="search", url= host+'search?q=',
|
itemlist.append(Item(channel=item.channel, title = 'Buscar', action="search", url= host+'ajax/search.php',
|
||||||
thumbnail=get_thumb('search', auto=True)))
|
thumbnail=get_thumb('search', auto=True)))
|
||||||
|
|
||||||
autoplay.show_option(item.channel, itemlist)
|
autoplay.show_option(item.channel, itemlist)
|
||||||
@@ -81,10 +81,9 @@ def list_all(item):
|
|||||||
|
|
||||||
else:
|
else:
|
||||||
new_item.contentSerieName=scrapedtitle
|
new_item.contentSerieName=scrapedtitle
|
||||||
new_item.action = 'episodes'
|
new_item.action = 'episodios'
|
||||||
itemlist.append(new_item)
|
itemlist.append(new_item)
|
||||||
|
|
||||||
|
|
||||||
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||||
# Paginacion
|
# Paginacion
|
||||||
|
|
||||||
@@ -101,6 +100,33 @@ def list_all(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
|
def search_results(item):
|
||||||
|
logger.info()
|
||||||
|
|
||||||
|
itemlist=[]
|
||||||
|
data = httptools.downloadpage(item.url, post=item.post).data
|
||||||
|
data = re.sub(r'"|\n|\r|\t| |<br>|\s{2,}', "", data)
|
||||||
|
patron = '<a class=media p-2 href=(.*?)><img class=mr-2 src=(.*?)>.*?500>(.*?)</div>'
|
||||||
|
patron += '<div class=text-muted tx-11>(.*?)</div>.*?200>(.*?)</div>'
|
||||||
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
|
|
||||||
|
for scrapedurl, scrapedthumbnail, scrapedtitle, year, scrapedtype in matches:
|
||||||
|
new_item = Item(channel=item.channel, url=scrapedurl, thumbnail=scrapedthumbnail, title=scrapedtitle)
|
||||||
|
|
||||||
|
if scrapedtype != 'dorama':
|
||||||
|
new_item.action = 'findvideos'
|
||||||
|
new_item.contentTitle = scrapedtitle
|
||||||
|
|
||||||
|
else:
|
||||||
|
new_item.contentSerieName=scrapedtitle
|
||||||
|
new_item.action = 'episodios'
|
||||||
|
itemlist.append(new_item)
|
||||||
|
|
||||||
|
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def latest_episodes(item):
|
def latest_episodes(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
@@ -121,11 +147,10 @@ def latest_episodes(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def episodes(item):
|
def episodios(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
data = get_source(item.url)
|
data = get_source(item.url)
|
||||||
logger.debug(data)
|
|
||||||
patron = '<a itemprop=url href=(.*?) title=.*? class=media.*?truncate-width>(.*?)<.*?'
|
patron = '<a itemprop=url href=(.*?) title=.*? class=media.*?truncate-width>(.*?)<.*?'
|
||||||
patron +='text-muted mb-1>Capítulo (.*?)</div>'
|
patron +='text-muted mb-1>Capítulo (.*?)</div>'
|
||||||
|
|
||||||
@@ -154,7 +179,7 @@ def episodes(item):
|
|||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
item.clone(title="Añadir esta serie a la videoteca", action="add_serie_to_library", extra="episodes", text_color='yellow'))
|
item.clone(title="Añadir esta serie a la videoteca", action="add_serie_to_library", extra="episodios", text_color='yellow'))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
@@ -164,7 +189,6 @@ def findvideos(item):
|
|||||||
duplicated = []
|
duplicated = []
|
||||||
headers={'referer':item.url}
|
headers={'referer':item.url}
|
||||||
data = get_source(item.url)
|
data = get_source(item.url)
|
||||||
logger.debug(data)
|
|
||||||
patron = 'animated pulse data-url=(.*?)>'
|
patron = 'animated pulse data-url=(.*?)>'
|
||||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
if '</strong> ¡Este capítulo no tiene subtítulos, solo audio original! </div>' in data:
|
if '</strong> ¡Este capítulo no tiene subtítulos, solo audio original! </div>' in data:
|
||||||
@@ -176,7 +200,7 @@ def findvideos(item):
|
|||||||
item.type = 'dorama'
|
item.type = 'dorama'
|
||||||
item.contentSerieName = item.contentTitle
|
item.contentSerieName = item.contentTitle
|
||||||
item.contentTitle = ''
|
item.contentTitle = ''
|
||||||
return episodes(item)
|
return episodios(item)
|
||||||
else:
|
else:
|
||||||
|
|
||||||
for video_url in matches:
|
for video_url in matches:
|
||||||
@@ -239,13 +263,17 @@ def findvideos(item):
|
|||||||
|
|
||||||
def search(item, texto):
|
def search(item, texto):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
import urllib
|
||||||
itemlist = []
|
itemlist = []
|
||||||
texto = texto.replace(" ", "+")
|
texto = texto.replace(" ", "+")
|
||||||
item.url = item.url + texto
|
item.url = item.url
|
||||||
|
post = {'q':texto}
|
||||||
|
post = urllib.urlencode(post)
|
||||||
item.type = 'search'
|
item.type = 'search'
|
||||||
|
item.post = post
|
||||||
if texto != '':
|
if texto != '':
|
||||||
try:
|
try:
|
||||||
return list_all(item)
|
return search_results(item)
|
||||||
except:
|
except:
|
||||||
itemlist.append(item.clone(url='', title='No hay elementos...', action=''))
|
itemlist.append(item.clone(url='', title='No hay elementos...', action=''))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -1,470 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "mispelisyseries",
|
|
||||||
"name": "Mispelisyseries",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["cast", "lat"],
|
|
||||||
"thumbnail": "http://mispelisyseries.com/mps/library/content/template_mps/images/logomps.png",
|
|
||||||
"banner": "",
|
|
||||||
"categories": [
|
|
||||||
"torrent",
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -53,7 +53,7 @@
|
|||||||
"id": "clonenewpct1_channels_list",
|
"id": "clonenewpct1_channels_list",
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"label": "Lista de clones de NewPct1 y orden de uso",
|
"label": "Lista de clones de NewPct1 y orden de uso",
|
||||||
"default": "('1', 'torrentrapid', 'http://torrentrapid.com/', 'movie, tvshow, season, episode', ''), ('1', 'torrentlocura', 'http://torrentlocura.com/', 'movie, tvshow, season, episode', ''), ('1', 'tumejortorrent', 'http://tumejortorrent.com/', 'movie, tvshow, season, episode', ''), ('1', 'tvsinpagar', 'http://www.tvsinpagar.com/', 'tvshow, season, episode', ''), ('1', 'descargas2020', 'http://descargas2020.com/', 'movie, tvshow, season, episode', ''), ('1', 'mispelisyseries', 'http://mispelisyseries.com/', 'movie', 'search')",
|
"default": "('1', 'torrentrapid', 'http://torrentrapid.com/', 'movie, tvshow, season, episode', 'serie_episodios'), ('1', 'torrentlocura', 'http://torrentlocura.com/', 'movie, tvshow, season, episode', ''), ('1', 'tumejortorrent', 'http://tumejortorrent.com/', 'movie, tvshow, season, episode', ''), ('1', 'tvsinpagar', 'http://www.tvsinpagar.com/', 'tvshow, season, episode', ''), ('1', 'descargas2020', 'http://descargas2020.com/', 'movie, tvshow, season, episode', ''), ('1', 'mispelisyseries', 'http://mispelisyseries.com/', 'movie', 'search, listado_busqueda')",
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"visible": false
|
"visible": false
|
||||||
},
|
},
|
||||||
@@ -560,6 +560,33 @@
|
|||||||
"9",
|
"9",
|
||||||
"10"
|
"10"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "clonenewpct1_rango_fechas_novedades",
|
||||||
|
"type": "list",
|
||||||
|
"label": "Rango de fechas para búsquedas en Novedades",
|
||||||
|
"default": 2,
|
||||||
|
"enabled": true,
|
||||||
|
"visible": true,
|
||||||
|
"lvalues": [
|
||||||
|
"Hoy",
|
||||||
|
"Ayer",
|
||||||
|
"Semana",
|
||||||
|
"Mes",
|
||||||
|
"Siempre"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "clonenewpct1_serie_episodio_novedades",
|
||||||
|
"type": "list",
|
||||||
|
"label": "Ver en Novedades las series como episodios sueltos o serie completa",
|
||||||
|
"default": 1,
|
||||||
|
"enabled": true,
|
||||||
|
"visible": true,
|
||||||
|
"lvalues": [
|
||||||
|
"Episodios sueltos",
|
||||||
|
"Serie completa"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -11,6 +11,7 @@ from channelselector import get_thumb
|
|||||||
from core import httptools
|
from core import httptools
|
||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from core import servertools
|
from core import servertools
|
||||||
|
from core import channeltools
|
||||||
from core.item import Item
|
from core.item import Item
|
||||||
from platformcode import config, logger
|
from platformcode import config, logger
|
||||||
from core import tmdb
|
from core import tmdb
|
||||||
@@ -19,7 +20,12 @@ from lib import generictools
|
|||||||
channel_py = 'newpct1'
|
channel_py = 'newpct1'
|
||||||
|
|
||||||
#Código para permitir usar un único canal para todas las webs clones de NewPct1
|
#Código para permitir usar un único canal para todas las webs clones de NewPct1
|
||||||
clone_list = config.get_setting('clonenewpct1_channels_list', channel_py) #Carga lista de clones
|
#Cargamos en .json del canal para ver las listas de valores en settings
|
||||||
|
clone_list = channeltools.get_channel_json(channel_py)
|
||||||
|
for settings in clone_list['settings']: #Se recorren todos los settings
|
||||||
|
if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting
|
||||||
|
clone_list = settings['default'] #Carga lista de clones
|
||||||
|
break
|
||||||
clone_list = ast.literal_eval(clone_list) #la convierte en array
|
clone_list = ast.literal_eval(clone_list) #la convierte en array
|
||||||
host_index = 0
|
host_index = 0
|
||||||
host_index = config.get_setting('clonenewpct1_channel_default', channel_py) #Clone por defecto
|
host_index = config.get_setting('clonenewpct1_channel_default', channel_py) #Clone por defecto
|
||||||
@@ -39,6 +45,13 @@ __modo_grafico__ = config.get_setting('modo_grafico', channel_py)
|
|||||||
modo_ultima_temp = config.get_setting('seleccionar_ult_temporadda_activa', channel_py) #Actualización sólo últ. Temporada?
|
modo_ultima_temp = config.get_setting('seleccionar_ult_temporadda_activa', channel_py) #Actualización sólo últ. Temporada?
|
||||||
timeout = config.get_setting('clonenewpct1_timeout_downloadpage', channel_py) #Timeout downloadpage
|
timeout = config.get_setting('clonenewpct1_timeout_downloadpage', channel_py) #Timeout downloadpage
|
||||||
if timeout == 0: timeout = None
|
if timeout == 0: timeout = None
|
||||||
|
fecha_rango = config.get_setting('clonenewpct1_rango_fechas_novedades', channel_py) #Rango fechas para Novedades
|
||||||
|
if fecha_rango == 0: fecha_rango = 'Hoy'
|
||||||
|
elif fecha_rango == 1: fecha_rango = 'Ayer'
|
||||||
|
elif fecha_rango == 2: fecha_rango = 'Semana'
|
||||||
|
elif fecha_rango == 3: fecha_rango = 'Mes'
|
||||||
|
elif fecha_rango == 4: fecha_rango = 'Siempre'
|
||||||
|
episodio_serie = config.get_setting('clonenewpct1_serie_episodio_novedades', channel_py) #Episodio o serie para Novedades
|
||||||
|
|
||||||
|
|
||||||
def mainlist(item):
|
def mainlist(item):
|
||||||
@@ -60,6 +73,8 @@ def mainlist(item):
|
|||||||
thumb_buscar = get_thumb("search.png")
|
thumb_buscar = get_thumb("search.png")
|
||||||
thumb_settings = get_thumb("setting_0.png")
|
thumb_settings = get_thumb("setting_0.png")
|
||||||
|
|
||||||
|
itemlist.append(Item(channel=item.channel, action="submenu_novedades", title="Novedades", url=item.channel_host + "ultimas-descargas/", extra="novedades", thumbnail=thumb_pelis, category=item.category, channel_host=item.channel_host))
|
||||||
|
|
||||||
itemlist.append(Item(channel=item.channel, action="submenu", title="Películas", url=item.channel_host,
|
itemlist.append(Item(channel=item.channel, action="submenu", title="Películas", url=item.channel_host,
|
||||||
extra="peliculas", thumbnail=thumb_pelis, category=item.category, channel_host=item.channel_host))
|
extra="peliculas", thumbnail=thumb_pelis, category=item.category, channel_host=item.channel_host))
|
||||||
|
|
||||||
@@ -88,6 +103,7 @@ def settingCanal(item):
|
|||||||
|
|
||||||
def submenu(item):
|
def submenu(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
data = ''
|
data = ''
|
||||||
@@ -148,6 +164,88 @@ def submenu(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
|
def submenu_novedades(item):
|
||||||
|
logger.info()
|
||||||
|
|
||||||
|
itemlist = []
|
||||||
|
itemlist_alt = []
|
||||||
|
|
||||||
|
data = ''
|
||||||
|
timeout_search=timeout * 2 #Más tiempo para Novedades, que es una búsqueda
|
||||||
|
thumb_settings = get_thumb("setting_0.png")
|
||||||
|
|
||||||
|
#Establecer los valores del .json por si se entra directamente desde un favorito
|
||||||
|
item.channel_host = host
|
||||||
|
item.url = host + "ultimas-descargas/"
|
||||||
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
item.extra = "novedades"
|
||||||
|
|
||||||
|
try:
|
||||||
|
data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, timeout=timeout_search).data)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
patron = '<div class="content">.*?<ul class="noticias'
|
||||||
|
#Verificamos si se ha cargado una página, y si además tiene la estructura correcta
|
||||||
|
if not data or not scrapertools.find_single_match(data, patron):
|
||||||
|
logger.error("ERROR 01: SUBMENU: La Web no responde o ha cambiado de URL: " + item.url + data)
|
||||||
|
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el submenú
|
||||||
|
item, data = generictools.fail_over_newpct1(item, patron)
|
||||||
|
|
||||||
|
if not data: #Si no ha logrado encontrar nada, salimos
|
||||||
|
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.category + '[/COLOR]: Ningún canal NewPct1 activo'))
|
||||||
|
itemlist.append(item.clone(action='', title=item.category + ': ERROR 01: SUBMENU: La Web no responde o ha cambiado de URL. Si la Web está activa, reportar el error con el log'))
|
||||||
|
return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos
|
||||||
|
elif item.channel_alt: #Si ha habido fail-over, lo comento
|
||||||
|
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.category + '[/COLOR] [ALT ] en uso'))
|
||||||
|
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.channel_alt.capitalize() + '[/COLOR] inaccesible'))
|
||||||
|
|
||||||
|
if item.url_alt: del item.url_alt
|
||||||
|
del item.channel_alt
|
||||||
|
|
||||||
|
data = scrapertools.get_match(data, patron) #Seleccionamos el trozo que nos interesa
|
||||||
|
data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8")
|
||||||
|
data = data.replace("'", '"').replace('/series"', '/series/"') #Compatibilidad con mispelisy.series.com
|
||||||
|
|
||||||
|
patron = '<option value="([^"]+)".*?>(.*?)<\/option>'
|
||||||
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
|
|
||||||
|
itemlist.append(item.clone(action='', title="[COLOR yellow]Ver lo Último de:[/COLOR]"))
|
||||||
|
for value, title in matches:
|
||||||
|
if not value.isdigit():
|
||||||
|
if title not in "Mes":
|
||||||
|
item.post = "date=%s" % value
|
||||||
|
itemlist.append(item.clone(action="listado_busqueda", title=title, url=item.url, post=item.post))
|
||||||
|
|
||||||
|
itemlist.append(item.clone(action='', title="[COLOR yellow]Lo Último en la Categoría:[/COLOR]"))
|
||||||
|
for value, title in matches:
|
||||||
|
if value.isdigit():
|
||||||
|
if title not in "Juegos, Software, Musica, Deportes":
|
||||||
|
|
||||||
|
#tratamos de poner al principio las categorías más relevantes
|
||||||
|
if value == '1027': title = "01" + title #Pelis HD
|
||||||
|
elif value == '757': title = "02" + title #Pelis Castellano
|
||||||
|
elif value == '1527': title = "03" + title #Pelis Latino
|
||||||
|
elif value == '1469': title = "04" + title #Series HD
|
||||||
|
elif value == '767': title = "05" + title #Series
|
||||||
|
else: title = "99" + title #Resto
|
||||||
|
|
||||||
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
|
itemlist_alt.append(item.clone(action="listado_busqueda", title=title, url=item.url, post=item.post))
|
||||||
|
|
||||||
|
itemlist_alt = sorted(itemlist_alt, key=lambda it: it.title) #clasificamos
|
||||||
|
for item_local in itemlist_alt:
|
||||||
|
item_local.title = re.sub(r'^\d{2}', '', item_local.title) #Borramos la secuencia
|
||||||
|
itemlist.append(item_local.clone())
|
||||||
|
|
||||||
|
itemlist.append(
|
||||||
|
Item(channel=item.channel, action="", title="[COLOR yellow]Configuración de Novedades:[/COLOR]", url="", thumbnail=thumb_settings, category=item.category, channel_host=item.channel_host))
|
||||||
|
itemlist.append(
|
||||||
|
Item(channel=item.channel, action="settingCanal", title="Periodos y formatos de series en Novedades", url="", thumbnail=thumb_settings, category=item.category, channel_host=item.channel_host))
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def alfabeto(item):
|
def alfabeto(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
@@ -483,15 +581,17 @@ def listado_busqueda(item):
|
|||||||
|
|
||||||
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
||||||
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
||||||
#item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/')
|
item.channel_host = host
|
||||||
if item.category and item.category != "newest":
|
item.category_new = ''
|
||||||
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
if item.category:
|
||||||
|
item.category_new = item.category
|
||||||
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
cnt_tot = 40 # Poner el num. máximo de items por página. Dejamos que la web lo controle
|
cnt_tot = 40 # Poner el num. máximo de items por página. Dejamos que la web lo controle
|
||||||
cnt_title = 0 # Contador de líneas insertadas en Itemlist
|
cnt_title = 0 # Contador de líneas insertadas en Itemlist
|
||||||
cnt_pag = 0 # Contador de líneas leídas de Matches
|
cnt_pag = 0 # Contador de líneas leídas de Matches
|
||||||
timeout_search = timeout * 2 # Timeout un poco más largo para las búsquedas
|
timeout_search = timeout * 2 # Timeout un poco más largo para las búsquedas
|
||||||
if timeout_search < 5:
|
if timeout_search < 5:
|
||||||
timeout_search = 5 # Timeout un poco más largo para las búsquedas
|
timeout_search = 5 # Timeout un poco más largo para las búsquedas
|
||||||
data = ''
|
data = ''
|
||||||
@@ -527,7 +627,10 @@ def listado_busqueda(item):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
cnt_next += 1
|
cnt_next += 1
|
||||||
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern #seleccionamos el bloque que nos interesa
|
if item.extra == "novedades":
|
||||||
|
pattern = '<div class="content">.*?<ul class="noticias(.*?)<\/div><!-- end .content -->' #seleccionamos el bloque que nos interesa
|
||||||
|
else:
|
||||||
|
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern #seleccionamos el bloque que nos interesa
|
||||||
if not data or (not scrapertools.find_single_match(data, pattern) and not '<h3><strong>( 0 ) Resultados encontrados </strong>' in data):
|
if not data or (not scrapertools.find_single_match(data, pattern) and not '<h3><strong>( 0 ) Resultados encontrados </strong>' in data):
|
||||||
logger.error("ERROR 01: LISTADO_BUSQUEDA: La Web no responde o ha cambiado de URL: " + item.url + item.post + " / DATA: " + data)
|
logger.error("ERROR 01: LISTADO_BUSQUEDA: La Web no responde o ha cambiado de URL: " + item.url + item.post + " / DATA: " + data)
|
||||||
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el submenú
|
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el submenú
|
||||||
@@ -543,7 +646,11 @@ def listado_busqueda(item):
|
|||||||
#Obtiene la dirección de la próxima página, si la hay
|
#Obtiene la dirección de la próxima página, si la hay
|
||||||
try:
|
try:
|
||||||
post_actual = item.post #Guardamos el post actual por si hay overflow de Itemlist y hay que hechar marcha atrás
|
post_actual = item.post #Guardamos el post actual por si hay overflow de Itemlist y hay que hechar marcha atrás
|
||||||
get, post, total_pag = scrapertools.find_single_match(data, '<ul class="pagination">.*?<a\s*href="([^"]+)"(?:\s*onClick=".*?\(\'([^"]+)\'\);">Next<\/a>.*?onClick=".*?\(\'([^"]+)\'\);">Last<\/a>)')
|
|
||||||
|
if item.extra == "novedades":
|
||||||
|
get, post, total_pag = scrapertools.find_single_match(data, '<ul class="pagination">.*?<a\s*href="([^"]+pg\/)(\d+)">Next<\/a>.*?<a\s*href="[^"]+pg\/(\d+)">Last<\/a>')
|
||||||
|
else:
|
||||||
|
get, post, total_pag = scrapertools.find_single_match(data, '<ul class="pagination">.*?<a\s*href="([^"]+)"(?:\s*onClick=".*?\(\'([^"]+)\'\);">Next<\/a>.*?onClick=".*?\(\'([^"]+)\'\);">Last<\/a>)')
|
||||||
except:
|
except:
|
||||||
post = False
|
post = False
|
||||||
cnt_next = 99 #No hay más páginas. Salir del bucle después de procesar ésta
|
cnt_next = 99 #No hay más páginas. Salir del bucle después de procesar ésta
|
||||||
@@ -556,17 +663,29 @@ def listado_busqueda(item):
|
|||||||
post_num = int(post)-1 #Guardo página actual
|
post_num = int(post)-1 #Guardo página actual
|
||||||
|
|
||||||
# Preparamos un patron que pretence recoger todos los datos significativos del video
|
# Preparamos un patron que pretence recoger todos los datos significativos del video
|
||||||
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern #seleccionamos el bloque que nos interesa
|
if item.extra == "novedades":
|
||||||
|
pattern = '<div class="content">.*?<ul class="noticias(.*?)<\/div><!-- end .content -->' #seleccionamos el bloque que nos interesa
|
||||||
|
else:
|
||||||
|
pattern = '<ul class="%s">(.*?)</ul>' % item.pattern #seleccionamos el bloque que nos interesa
|
||||||
data_alt = data
|
data_alt = data
|
||||||
data = scrapertools.get_match(data, pattern)
|
data = scrapertools.get_match(data, pattern)
|
||||||
pattern = '<li[^>]*><a href="(?P<scrapedurl>[^"]+).*?' #url
|
if item.extra == "novedades":
|
||||||
pattern += 'title="(?P<scrapedtitle>[^"]+).*?' #título
|
pattern = '<a href="(?P<scrapedurl>[^"]+)"\s?' #url
|
||||||
pattern += '<img.*?src="(?P<scrapedthumbnail>[^"]+)?".*?' #thumb
|
pattern += 'title="(?P<scrapedtitle>[^"]+)"[^>]*>' #título
|
||||||
pattern += '<h2.*?(?P<calidad>\[.*?)?<\/h2.*?' #calidad
|
pattern += '<img[^>]*src="(?P<scrapedthumbnail>[^"]+)"?.*?' #thumb
|
||||||
pattern += '<span.*?>\d+-\d+-(?P<year>\d{4})?<\/span>*.?' #año
|
pattern += '<\/h2><\/a><span.*?">(?P<calidad>.*?)?' #calidad
|
||||||
pattern += '<span.*?>(?P<size>\d+[\.|\s].*?[GB|MB])?<\/span>' #tamaño (significativo para peliculas)
|
pattern += '<(?P<year>.*?)?' #año
|
||||||
|
pattern += '>Tama.*?\s(?P<size>\d+[.|\s].*?[GB|MB])?\s?<\/strong>' #tamaño (significativo para peliculas)
|
||||||
|
else:
|
||||||
|
pattern = '<li[^>]*><a href="(?P<scrapedurl>[^"]+).*?' #url
|
||||||
|
pattern += 'title="(?P<scrapedtitle>[^"]+).*?' #título
|
||||||
|
pattern += '<img.*?src="(?P<scrapedthumbnail>[^"]+)?".*?' #thumb
|
||||||
|
pattern += '<h2.*?(?P<calidad>\[.*?)?<\/h2.*?' #calidad
|
||||||
|
pattern += '<span.*?>\d+-\d+-(?P<year>\d{4})?<\/span>*.?' #año
|
||||||
|
pattern += '<span.*?>(?P<size>\d+[\.|\s].*?[GB|MB])?<\/span>' #tamaño (significativo para peliculas)
|
||||||
|
|
||||||
matches_alt = re.compile(pattern, re.DOTALL).findall(data)
|
matches_alt = re.compile(pattern, re.DOTALL).findall(data)
|
||||||
if not matches_alt and not '<h3><strong>( 0 ) Resultados encontrados </strong>' in data_alt: #error
|
if not matches_alt and not '<h3><strong>( 0 ) Resultados encontrados </strong>' in data_alt and not '<ul class="noticias-series"></ul></form></div><!-- end .page-box -->' in data_alt: #error
|
||||||
logger.error("ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web " + " / PATRON: " + pattern + " / DATA: " + data_alt)
|
logger.error("ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web " + " / PATRON: " + pattern + " / DATA: " + data_alt)
|
||||||
itemlist.append(item.clone(action='', title=item.category + ': ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web. Reportar el error con el log'))
|
itemlist.append(item.clone(action='', title=item.category + ': ERROR 02: LISTADO_BUSQUEDA: Ha cambiado la estructura de la Web. Reportar el error con el log'))
|
||||||
item, itemlist = generictools.post_tmdb_listado(item, itemlist) #Pintamos los datos de fail-over, si los hay
|
item, itemlist = generictools.post_tmdb_listado(item, itemlist) #Pintamos los datos de fail-over, si los hay
|
||||||
@@ -648,8 +767,8 @@ def listado_busqueda(item):
|
|||||||
|
|
||||||
#Creamos una copia de Item para cada contenido
|
#Creamos una copia de Item para cada contenido
|
||||||
item_local = item.clone()
|
item_local = item.clone()
|
||||||
if item_local.category:
|
if item_local.category_new:
|
||||||
del item_local.category
|
del item_local.category_new
|
||||||
if item_local.tipo:
|
if item_local.tipo:
|
||||||
del item_local.tipo
|
del item_local.tipo
|
||||||
if item_local.totalItems:
|
if item_local.totalItems:
|
||||||
@@ -666,17 +785,71 @@ def listado_busqueda(item):
|
|||||||
del item_local.folder
|
del item_local.folder
|
||||||
item_local.title = ''
|
item_local.title = ''
|
||||||
item_local.context = "['buscar_trailer']"
|
item_local.context = "['buscar_trailer']"
|
||||||
|
item_local.contentType = ""
|
||||||
|
|
||||||
|
title_subs = []
|
||||||
|
|
||||||
|
#Si son episodios sueltos de Series que vienen de Novedades, se busca la url de la Serie
|
||||||
|
if item.extra == "novedades" and "/serie" in scrapedurl and episodio_serie == 1:
|
||||||
|
item_local.url = scrapedurl
|
||||||
|
item_local.extra2 = 'serie_episodios' #Creamos acción temporal excluyente para otros clones
|
||||||
|
if item_local.category == 'Mispelisyseries': #Esta web no gestiona bien el cambio de episodio a Serie
|
||||||
|
pattern = 'class="btn-torrent">.*?window.location.href = "(.*?)";' #Patron para .torrent
|
||||||
|
#Como no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el cambio de episodio por serie
|
||||||
|
item_local, data_serie = generictools.fail_over_newpct1(item_local, pattern)
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
data_serie = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item_local.url, timeout=timeout).data)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
pattern = 'class="btn-torrent">.*?window.location.href = "(.*?)";' #Patron para .torrent
|
||||||
|
if not data_serie or (not scrapertools.find_single_match(data_serie, pattern) and not '<h3><strong>( 0 ) Resultados encontrados </strong>' in data and not '<ul class="noticias-series"></ul></form></div><!-- end .page-box -->' in data):
|
||||||
|
logger.error("ERROR 01: LISTADO_BUSQUEDA: La Web no responde o ha cambiado de URL: " + item_local.url + " / DATA: " + data_serie)
|
||||||
|
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el cambio de episodio por serie
|
||||||
|
item_local, data_serie = generictools.fail_over_newpct1(item_local, pattern)
|
||||||
|
|
||||||
|
if not data_serie: #Si no ha logrado encontrar nada, salimos
|
||||||
|
title_subs += ["ERR"]
|
||||||
|
|
||||||
|
elif item_local.channel_alt: #Si ha habido fail-over, lo comento
|
||||||
|
scrapedurl = scrapedurl.replace(item_local.channel_alt, item_local.category.lower())
|
||||||
|
title_subs += ["ALT"]
|
||||||
|
|
||||||
|
try:
|
||||||
|
pattern = '<div class="content">.*?<h1>.*?<a href="([^"]+)"' #Patron para Serie completa
|
||||||
|
item_local.url = scrapertools.find_single_match(data_serie, pattern)
|
||||||
|
if (item.post and '775' in item.post and 'vo/' not in item_local.url) or 'vo/' in scrapedurl: #Son series VO mal formadas?
|
||||||
|
item_local.url = item_local.url.replace('/series/', '/series-vo/')
|
||||||
|
#item_local.url = re.sub(r'\/\d+$', '/', item_local.url) #Quitamos el ID de la serie por compatib.
|
||||||
|
if item_local.url:
|
||||||
|
title_subs += ["Episodio %sx%s" % (scrapertools.find_single_match(scrapedurl, '\/temp.*?-(\d+)\/cap.*?-(\d+)\/'))]
|
||||||
|
scrapedurl = item_local.url
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if item.extra == "novedades" and "/serie" in scrapedurl:
|
||||||
|
if not item_local.url or episodio_serie == 0:
|
||||||
|
item_local.url = scrapedurl
|
||||||
|
if scrapertools.find_single_match(scrapedurl, '\/temp.*?-(\d+)\/cap.*?-(\d+)\/'):
|
||||||
|
title_subs += ["Episodio %sx%s" % (scrapertools.find_single_match(scrapedurl, '\/temp.*?-(\d+)\/cap.*?-(\d+)\/'))]
|
||||||
|
else:
|
||||||
|
title_subs += ["Episodio 1x01"]
|
||||||
|
|
||||||
#Establecemos los valores básicos en función del tipo de contenido
|
#Establecemos los valores básicos en función del tipo de contenido
|
||||||
if (".com/serie" in scrapedurl or "/serie" in scrapedurl or "-serie" in scrapedurl) and not "/miniseries" in scrapedurl: #Series
|
if (".com/serie" in scrapedurl or "/serie" in scrapedurl or "-serie" in scrapedurl) and not "/miniseries" in scrapedurl and (not "/capitulo" in scrapedurl or "pelisyseries.com" in item_local.channel_host): #Series
|
||||||
item_local.action = "episodios"
|
item_local.action = "episodios"
|
||||||
item_local.contentType = "tvshow"
|
item_local.contentType = "tvshow"
|
||||||
item_local.extra = "series"
|
item_local.extra = "series"
|
||||||
elif "varios/" in scrapedurl or "/miniseries" in scrapedurl: #Documentales y varios
|
elif "varios/" in scrapedurl or "/miniseries" in scrapedurl: #Documentales y varios
|
||||||
item_local.action = "findvideos"
|
item_local.action = "findvideos"
|
||||||
item_local.contentType = "movie"
|
item_local.contentType = "movie"
|
||||||
item_local.extra = "varios"
|
item_local.extra = "varios"
|
||||||
else: #Películas
|
elif "/capitulo" in scrapedurl: #Documentales y varios
|
||||||
|
item_local.action = "findvideos"
|
||||||
|
item_local.contentType = "episode"
|
||||||
|
item_local.extra = "series"
|
||||||
|
else: #Películas
|
||||||
item_local.action = "findvideos"
|
item_local.action = "findvideos"
|
||||||
item_local.contentType = "movie"
|
item_local.contentType = "movie"
|
||||||
item_local.extra = "peliculas"
|
item_local.extra = "peliculas"
|
||||||
@@ -686,7 +859,6 @@ def listado_busqueda(item):
|
|||||||
title = title.replace("á", "a").replace("é", "e").replace("í", "i").replace("ó", "o").replace("ú", "u").replace("ü", "u").replace("�", "ñ").replace("ñ", "ñ")
|
title = title.replace("á", "a").replace("é", "e").replace("í", "i").replace("ó", "o").replace("ú", "u").replace("ü", "u").replace("�", "ñ").replace("ñ", "ñ")
|
||||||
|
|
||||||
item_local.quality = scrapertools.htmlclean(calidad)
|
item_local.quality = scrapertools.htmlclean(calidad)
|
||||||
title_subs = []
|
|
||||||
|
|
||||||
#Determinamos y marcamos idiomas distintos del castellano
|
#Determinamos y marcamos idiomas distintos del castellano
|
||||||
item_local.language = []
|
item_local.language = []
|
||||||
@@ -822,6 +994,11 @@ def listado_busqueda(item):
|
|||||||
item_local.contentThumbnail = scrapedthumbnail
|
item_local.contentThumbnail = scrapedthumbnail
|
||||||
|
|
||||||
#Guardamos el año que puede venir en la url, por si luego no hay resultados desde TMDB
|
#Guardamos el año que puede venir en la url, por si luego no hay resultados desde TMDB
|
||||||
|
try:
|
||||||
|
year = int(year)
|
||||||
|
except:
|
||||||
|
year = ""
|
||||||
|
year = str(year)
|
||||||
if year >= "1900" and year <= "2040" and year != "2020":
|
if year >= "1900" and year <= "2040" and year != "2020":
|
||||||
title_subs += [year]
|
title_subs += [year]
|
||||||
item_local.infoLabels['year'] = '-'
|
item_local.infoLabels['year'] = '-'
|
||||||
@@ -830,11 +1007,11 @@ def listado_busqueda(item):
|
|||||||
item_local.title_subs = title_subs
|
item_local.title_subs = title_subs
|
||||||
|
|
||||||
# Codigo para rescatar lo que se pueda en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie
|
# Codigo para rescatar lo que se pueda en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie
|
||||||
if ("/serie" in item_local.url or "-serie" in item_local.url) and "pelisyseries.com" in host:
|
if ("/serie" in item_local.url or "-serie" in item_local.url) and "pelisyseries.com" in item_local.channel_host:
|
||||||
#Extraer la calidad de la serie basados en la info de la url
|
#Extraer la calidad de la serie basados en la info de la url
|
||||||
if "seriehd" in url:
|
if "seriehd" in item_local.url:
|
||||||
calidad_mps = "series-hd/"
|
calidad_mps = "series-hd/"
|
||||||
elif "serievo" in url or "serie-vo" in url:
|
elif "serievo" in item_local.url or "serie-vo" in item_local.url:
|
||||||
calidad_mps = "series-vo/"
|
calidad_mps = "series-vo/"
|
||||||
else:
|
else:
|
||||||
calidad_mps = "series/"
|
calidad_mps = "series/"
|
||||||
@@ -847,7 +1024,7 @@ def listado_busqueda(item):
|
|||||||
|
|
||||||
#Extraer el ID de la serie desde Thumbs (4 dígitos). Si no hay, nulo
|
#Extraer el ID de la serie desde Thumbs (4 dígitos). Si no hay, nulo
|
||||||
if "/0_" not in scrapedthumbnail and not "no_image" in scrapedthumbnail:
|
if "/0_" not in scrapedthumbnail and not "no_image" in scrapedthumbnail:
|
||||||
serieid = scrapertools.find_single_match(scrapedthumbnail, r'.*?\/\w\/(?P<serieid>\d+).*?.*')
|
serieid = scrapertools.find_single_match(scrapedthumbnail, r'\/\w\/(?P<serieid>\d+)')
|
||||||
if len(serieid) > 5:
|
if len(serieid) > 5:
|
||||||
serieid = ""
|
serieid = ""
|
||||||
else:
|
else:
|
||||||
@@ -879,13 +1056,14 @@ def listado_busqueda(item):
|
|||||||
|
|
||||||
#logger.debug("url: " + item_local.url + " / title o/n: " + item_local.title + " / " + real_title_mps + " / calidad_mps : " + calidad_mps + " / contentType : " + item_local.contentType)
|
#logger.debug("url: " + item_local.url + " / title o/n: " + item_local.title + " / " + real_title_mps + " / calidad_mps : " + calidad_mps + " / contentType : " + item_local.contentType)
|
||||||
|
|
||||||
item_local.title = real_title_mps #Esperemos que el nuevo título esté bien
|
item_local.title = real_title_mps.replace('-', ' ').title().strip() #Esperemos que el nuevo título esté bien
|
||||||
|
item_local.contentSerieName = item_local.title
|
||||||
|
|
||||||
#Agrega el item local a la lista itemlist
|
#Agrega el item local a la lista itemlist
|
||||||
itemlist.append(item_local.clone())
|
itemlist.append(item_local.clone())
|
||||||
|
|
||||||
if not item.category: #Si este campo no existe es que viene de la primera pasada de una búsqueda global
|
if not item.category_new: #Si este campo no existe es que viene de la primera pasada de una búsqueda global
|
||||||
return itemlist #Retornamos sin pasar por la fase de maquillaje para ahorra tiempo
|
return itemlist #Retornamos sin pasar por la fase de maquillaje para ahorra tiempo
|
||||||
|
|
||||||
#Pasamos a TMDB la lista completa Itemlist
|
#Pasamos a TMDB la lista completa Itemlist
|
||||||
tmdb.set_infoLabels(itemlist, __modo_grafico__)
|
tmdb.set_infoLabels(itemlist, __modo_grafico__)
|
||||||
@@ -901,12 +1079,11 @@ def listado_busqueda(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
from core import channeltools
|
|
||||||
logger.info()
|
logger.info()
|
||||||
|
|
||||||
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
||||||
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
||||||
#item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/')
|
item.channel_host = host
|
||||||
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
@@ -1266,11 +1443,17 @@ def episodios(item):
|
|||||||
|
|
||||||
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
#Renombramos el canal al nombre de clone elegido. Actualizados URL
|
||||||
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
host = scrapertools.find_single_match(item.url, '(http.?\:\/\/(?:www.)?\w+\.\w+\/)')
|
||||||
#item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/')
|
item.channel_host = host
|
||||||
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
|
#Limpiamos num. Temporada y Episodio que ha podido quedar por Novedades
|
||||||
|
if item.contentSeason:
|
||||||
|
del item.infoLabels['season']
|
||||||
|
if item.contentEpisodeNumber:
|
||||||
|
del item.infoLabels['episode']
|
||||||
|
|
||||||
# Obtener la información actualizada de la Serie. TMDB es imprescindible para Videoteca
|
# Obtener la información actualizada de la Serie. TMDB es imprescindible para Videoteca
|
||||||
if not item.infoLabels['tmdb_id']:
|
if not item.infoLabels['tmdb_id']:
|
||||||
tmdb.set_infoLabels(item, True)
|
tmdb.set_infoLabels(item, True)
|
||||||
@@ -1287,10 +1470,14 @@ def episodios(item):
|
|||||||
max_temp = max(y)
|
max_temp = max(y)
|
||||||
|
|
||||||
data = ''
|
data = ''
|
||||||
|
data_alt = ''
|
||||||
try:
|
try:
|
||||||
|
if "pelisyseries.com" in item.url:
|
||||||
|
patron = '<ul class="%s">(.*?)</ul>' % "chapters" # item.pattern
|
||||||
|
else:
|
||||||
|
patron = '<ul class="%s">(.*?)</ul>' % "buscar-list" # item.pattern
|
||||||
|
|
||||||
data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, timeout=timeout).data)
|
data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, timeout=timeout).data)
|
||||||
patron = '<ul class="%s">(.*?)</ul>' % "buscar-list" # item.pattern
|
|
||||||
data_alt = ''
|
|
||||||
if data: data_alt = scrapertools.get_match(data, patron)
|
if data: data_alt = scrapertools.get_match(data, patron)
|
||||||
except: #Algún error de proceso
|
except: #Algún error de proceso
|
||||||
pass
|
pass
|
||||||
@@ -1303,6 +1490,7 @@ def episodios(item):
|
|||||||
#Verificamos si se ha cargado una página, y si además tiene la estructura correcta
|
#Verificamos si se ha cargado una página, y si además tiene la estructura correcta
|
||||||
if not data_alt or not scrapertools.find_single_match(data_alt, pattern):
|
if not data_alt or not scrapertools.find_single_match(data_alt, pattern):
|
||||||
logger.error("ERROR 01: EPISODIOS: La Web no responde o la URL es erronea: " + item.url)
|
logger.error("ERROR 01: EPISODIOS: La Web no responde o la URL es erronea: " + item.url)
|
||||||
|
logger.error(pattern + data)
|
||||||
|
|
||||||
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el vídeo
|
#Si no hay datos consistentes, llamamos al método de fail_over para que encuentre un canal que esté activo y pueda gestionar el vídeo
|
||||||
item, data = generictools.fail_over_newpct1(item, patron, pattern)
|
item, data = generictools.fail_over_newpct1(item, patron, pattern)
|
||||||
@@ -1386,8 +1574,12 @@ def episodios(item):
|
|||||||
pattern = ".*?[^>]+>.*?Temporada\s*(?P<season>\d+)?.*?Capitulo(?:s)?\s*(?P<episode>\d+)?" \
|
pattern = ".*?[^>]+>.*?Temporada\s*(?P<season>\d+)?.*?Capitulo(?:s)?\s*(?P<episode>\d+)?" \
|
||||||
"(?:.*?(?P<episode2>\d+)?)<.+?<span[^>]+>(?P<lang>.*?)?<\/span>\s*Calidad\s*<span[^>]+>" \
|
"(?:.*?(?P<episode2>\d+)?)<.+?<span[^>]+>(?P<lang>.*?)?<\/span>\s*Calidad\s*<span[^>]+>" \
|
||||||
"[\[]\s*(?P<quality>.*?)?\s*[\]]<\/span>"
|
"[\[]\s*(?P<quality>.*?)?\s*[\]]<\/span>"
|
||||||
if "Especial" in info: # Capitulos Especiales
|
if not scrapertools.find_single_match(info, pattern):
|
||||||
pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P<season>\d+).*?\].*?Capitulo.*?\[\s*(?P<episode>\d+).*?\]?(?:.*?(?P<episode2>\d+)?)<.+?<span[^>]+>(?P<lang>.*?)?<\/span>\s*Calidad\s*<span[^>]+>[\[]\s*(?P<quality>.*?)?\s*[\]]<\/span>"
|
if "especial" in info.lower(): # Capitulos Especiales
|
||||||
|
pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P<season>\d+).*?\].*?Capitulo.*?\[\s*(?P<episode>\d+).*?\]?(?:.*?(?P<episode2>\d+)?)<.+?<span[^>]+>(?P<lang>.*?)?<\/span>\s*Calidad\s*<span[^>]+>[\[]\s*(?P<quality>.*?)?\s*[\]]<\/span>"
|
||||||
|
elif "miniserie" in info.lower() or "completa" in info.lower(): # Series o miniseries completa
|
||||||
|
logger.debug("patron episodioNEW - MINISERIE: " + info)
|
||||||
|
info = '><strong>%sTemporada %s Capitulo 01_99</strong> - <span >Español Castellano</span> Calidad <span >[%s]</span>' % (item_local.contentSerieName, season, item_local.quality)
|
||||||
|
|
||||||
if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico
|
if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico
|
||||||
logger.debug("patron episodioNEW: " + pattern)
|
logger.debug("patron episodioNEW: " + pattern)
|
||||||
@@ -1413,6 +1605,9 @@ def episodios(item):
|
|||||||
elif "completa" in info.lower():
|
elif "completa" in info.lower():
|
||||||
info = info.replace("COMPLETA", "Caps. 01_99")
|
info = info.replace("COMPLETA", "Caps. 01_99")
|
||||||
pattern = 'Temp.*?(?P<season>\d+).*?Cap\w?\.\s\d?(?P<episode>\d{2})(?:.*?(?P<episode2>\d{2}))?.*?\[(?P<quality>.*?)\].*?\[(?P<lang>\w+)\]?'
|
pattern = 'Temp.*?(?P<season>\d+).*?Cap\w?\.\s\d?(?P<episode>\d{2})(?:.*?(?P<episode2>\d{2}))?.*?\[(?P<quality>.*?)\].*?\[(?P<lang>\w+)\]?'
|
||||||
|
if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico
|
||||||
|
logger.debug(info)
|
||||||
|
info = '%s - Temp.%s [Caps. 01_99][%s][Spanish]' % (item_local.contentSerieName, season, item_local.quality)
|
||||||
if scrapertools.find_single_match(info, '\[Cap.\d{2,3}'):
|
if scrapertools.find_single_match(info, '\[Cap.\d{2,3}'):
|
||||||
pattern = "\[(?P<quality>.*?)\].*?\[Cap.(?P<season>\d).*?(?P<episode>\d{2})(?:_(?P<season2>\d+)" \
|
pattern = "\[(?P<quality>.*?)\].*?\[Cap.(?P<season>\d).*?(?P<episode>\d{2})(?:_(?P<season2>\d+)" \
|
||||||
"(?P<episode2>\d{2}))?.*?\].*?(?:\[(?P<lang>.*?)\])?"
|
"(?P<episode2>\d{2}))?.*?\].*?(?:\[(?P<lang>.*?)\])?"
|
||||||
@@ -1465,9 +1660,10 @@ def episodios(item):
|
|||||||
item_local.infoLabels['episodio_titulo'] = match['lang']
|
item_local.infoLabels['episodio_titulo'] = match['lang']
|
||||||
item_local.infoLabels['title'] = item_local.infoLabels['episodio_titulo']
|
item_local.infoLabels['title'] = item_local.infoLabels['episodio_titulo']
|
||||||
|
|
||||||
item_local.contentEpisodeNumber = match['episode']
|
|
||||||
|
|
||||||
if match['episode'] == 0: match['episode'] = 1 #Evitar errores en Videoteca
|
if match['episode'] == 0: match['episode'] = 1 #Evitar errores en Videoteca
|
||||||
|
item_local.contentEpisodeNumber = match['episode']
|
||||||
|
|
||||||
if match["episode2"]: #Hay episodio dos? es una entrada múltiple?
|
if match["episode2"]: #Hay episodio dos? es una entrada múltiple?
|
||||||
item_local.title = "%sx%s al %s -" % (str(match["season"]), str(match["episode"]).zfill(2), str(match["episode2"]).zfill(2)) #Creamos un título con el rango de episodios
|
item_local.title = "%sx%s al %s -" % (str(match["season"]), str(match["episode"]).zfill(2), str(match["episode2"]).zfill(2)) #Creamos un título con el rango de episodios
|
||||||
else: #Si es un solo episodio, se formatea ya
|
else: #Si es un solo episodio, se formatea ya
|
||||||
@@ -1536,6 +1732,7 @@ def search(item, texto):
|
|||||||
# texto = texto.replace(" ", "+")
|
# texto = texto.replace(" ", "+")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
item.url = host + "buscar"
|
||||||
item.post = "q=%s" % texto
|
item.post = "q=%s" % texto
|
||||||
item.pattern = "buscar-list"
|
item.pattern = "buscar-list"
|
||||||
itemlist = listado_busqueda(item)
|
itemlist = listado_busqueda(item)
|
||||||
@@ -1556,51 +1753,57 @@ def newest(categoria):
|
|||||||
|
|
||||||
item.title = "newest"
|
item.title = "newest"
|
||||||
item.category = "newest"
|
item.category = "newest"
|
||||||
item.action = "listado"
|
item.channel = channel_py
|
||||||
item.channel = scrapertools.find_single_match(host, r'(\w+)\.com\/')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if categoria == 'peliculas':
|
if categoria == 'peliculas':
|
||||||
item.url = host+'peliculas/'
|
item.url = host + 'ultimas-descargas/'
|
||||||
|
value = 757
|
||||||
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
|
item.extra = "novedades"
|
||||||
|
item.action = "listado_busqueda"
|
||||||
|
itemlist = listado_busqueda(item)
|
||||||
|
|
||||||
|
elif categoria == 'series':
|
||||||
|
item.url = host + 'ultimas-descargas/'
|
||||||
|
value = 767
|
||||||
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
|
item.extra = "novedades"
|
||||||
|
item.action = "listado_busqueda"
|
||||||
|
itemlist = listado_busqueda(item)
|
||||||
|
|
||||||
|
elif categoria == '4k':
|
||||||
|
item.url = host + 'ultimas-descargas/'
|
||||||
|
value = 1027
|
||||||
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
|
item.extra = "novedades"
|
||||||
|
item.action = "listado_busqueda"
|
||||||
|
itemlist = listado_busqueda(item)
|
||||||
|
|
||||||
|
elif categoria == 'anime':
|
||||||
|
item.url = host + 'anime/'
|
||||||
item.extra = "peliculas"
|
item.extra = "peliculas"
|
||||||
|
item.action = "listado"
|
||||||
itemlist = listado(item)
|
itemlist = listado(item)
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
|
||||||
itemlist.pop()
|
|
||||||
|
|
||||||
if categoria == 'series':
|
elif categoria == 'documentales':
|
||||||
item.url = host+'series/'
|
item.url = host + 'ultimas-descargas/'
|
||||||
item.extra = "series"
|
value = 780
|
||||||
itemlist.extend(listado(item))
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
item.extra = "novedades"
|
||||||
itemlist.pop()
|
item.action = "listado_busqueda"
|
||||||
|
itemlist = listado_busqueda(item)
|
||||||
|
|
||||||
if categoria == '4k':
|
elif categoria == 'latino':
|
||||||
item.url = host+'peliculas-hd/4kultrahd/'
|
item.url = host + 'ultimas-descargas/'
|
||||||
item.extra = "peliculas"
|
value = 1527
|
||||||
itemlist.extend(listado(item))
|
item.post = "categoryIDR=%s&date=%s" % (value, fecha_rango)
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
item.extra = "novedades"
|
||||||
itemlist.pop()
|
item.action = "listado_busqueda"
|
||||||
|
itemlist = listado_busqueda(item)
|
||||||
|
|
||||||
if categoria == 'anime':
|
if ">> Página siguiente" in itemlist[-1].title or "Pagina siguiente >>" in itemlist[-1].title:
|
||||||
item.url = host+'anime/'
|
itemlist.pop()
|
||||||
item.extra = "peliculas"
|
|
||||||
itemlist.extend(listado(item))
|
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
|
||||||
itemlist.pop()
|
|
||||||
|
|
||||||
if categoria == 'documentales':
|
|
||||||
item.url = host+'documentales/'
|
|
||||||
item.extra = "varios"
|
|
||||||
itemlist.extend(listado(item))
|
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
|
||||||
itemlist.pop()
|
|
||||||
|
|
||||||
if categoria == 'latino':
|
|
||||||
item.url = host+'peliculas-latino/'
|
|
||||||
item.extra = "peliculas"
|
|
||||||
itemlist.extend(listado(item))
|
|
||||||
if ">> Página siguiente" in itemlist[-1].title:
|
|
||||||
itemlist.pop()
|
|
||||||
|
|
||||||
# Se captura la excepción, para no interrumpir al canal novedades si un canal falla
|
# Se captura la excepción, para no interrumpir al canal novedades si un canal falla
|
||||||
except:
|
except:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from platformcode import config, logger
|
|||||||
from channels import filtertools
|
from channels import filtertools
|
||||||
from channels import autoplay
|
from channels import autoplay
|
||||||
|
|
||||||
host = 'http://www.novelashdgratis.io'
|
host = 'http://www.novelasgratishd.tv'
|
||||||
|
|
||||||
IDIOMAS = {'la':'Latino'}
|
IDIOMAS = {'la':'Latino'}
|
||||||
list_language = IDIOMAS.values()
|
list_language = IDIOMAS.values()
|
||||||
|
|||||||
@@ -256,7 +256,6 @@ def findvideos(item):
|
|||||||
|
|
||||||
for url in urls:
|
for url in urls:
|
||||||
final_url = httptools.downloadpage('https:'+url).data
|
final_url = httptools.downloadpage('https:'+url).data
|
||||||
|
|
||||||
if language == 'VOSE':
|
if language == 'VOSE':
|
||||||
sub = scrapertools.find_single_match(url, 'sub=(.*?)&')
|
sub = scrapertools.find_single_match(url, 'sub=(.*?)&')
|
||||||
subs = 'https:%s' % sub
|
subs = 'https:%s' % sub
|
||||||
@@ -265,7 +264,7 @@ def findvideos(item):
|
|||||||
file_id = scrapertools.find_single_match(url, 'file=(.*?)&')
|
file_id = scrapertools.find_single_match(url, 'file=(.*?)&')
|
||||||
post = {'link': file_id}
|
post = {'link': file_id}
|
||||||
post = urllib.urlencode(post)
|
post = urllib.urlencode(post)
|
||||||
hidden_url = 'https://streamango.poseidonhd.com/repro/plugins/gkpluginsphp.php'
|
hidden_url = 'https://streamango.poseidonhd.net/repro/plugins/gkpluginsphp.php'
|
||||||
data_url = httptools.downloadpage(hidden_url, post=post).data
|
data_url = httptools.downloadpage(hidden_url, post=post).data
|
||||||
dict_vip_url = jsontools.load(data_url)
|
dict_vip_url = jsontools.load(data_url)
|
||||||
url = dict_vip_url['link']
|
url = dict_vip_url['link']
|
||||||
@@ -273,7 +272,7 @@ def findvideos(item):
|
|||||||
file_id = scrapertools.find_single_match(url, 'url=(.*?)&')
|
file_id = scrapertools.find_single_match(url, 'url=(.*?)&')
|
||||||
post = {'url': file_id}
|
post = {'url': file_id}
|
||||||
post = urllib.urlencode(post)
|
post = urllib.urlencode(post)
|
||||||
hidden_url = 'https://streamango.poseidonhd.com/repro/r.php'
|
hidden_url = 'https://streamango.poseidonhd.net/repro/r.php'
|
||||||
data_url = httptools.downloadpage(hidden_url, post=post, follow_redirects=False)
|
data_url = httptools.downloadpage(hidden_url, post=post, follow_redirects=False)
|
||||||
url = data_url.headers['location']
|
url = data_url.headers['location']
|
||||||
|
|
||||||
|
|||||||
@@ -1,471 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "torrentlocura",
|
|
||||||
"name": "Torrentlocura",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["cast", "lat"],
|
|
||||||
"banner": "torrentlocura.png",
|
|
||||||
"thumbnail": "http://imgur.com/EWmLS3d.png",
|
|
||||||
"fanart": "http://imgur.com/V7QZLAL.jpg",
|
|
||||||
"categories": [
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"anime",
|
|
||||||
"torrent",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,565 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "torrentrapid",
|
|
||||||
"name": "Torrentrapid",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["*"],
|
|
||||||
"thumbnail": "torrentrapid.png",
|
|
||||||
"banner": "torrentrapid.png",
|
|
||||||
"categories": [
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"anime",
|
|
||||||
"torrent",
|
|
||||||
"latino",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_channel_default",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Clone de NewPct1 por defecto",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"Torrentrapid",
|
|
||||||
"Torrentlocura",
|
|
||||||
"Tumejortorrent",
|
|
||||||
"Tvsinpagar",
|
|
||||||
"Descargas2020",
|
|
||||||
"Mispelisyseries"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_channels_list",
|
|
||||||
"type": "text",
|
|
||||||
"label": "Lista de clones de NewPct1 y orden de uso",
|
|
||||||
"default": "('1', 'torrentrapid', 'http://torrentrapid.com/', 'movie, tvshow, season, episode', ''), ('1', 'torrentlocura', 'http://torrentlocura.com/', 'movie, tvshow, season, episode', ''), ('1', 'tumejortorrent', 'http://tumejortorrent.com/', 'movie, tvshow, season, episode', ''), ('1', 'tvsinpagar', 'http://www.tvsinpagar.com/', 'tvshow, season, episode', ''), ('1', 'descargas2020', 'http://descargas2020.com/', 'movie, tvshow, season, episode', ''), ('1', 'mispelisyseries', 'http://mispelisyseries.com/', 'movie', 'search')",
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_peliculas",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - Peliculas",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_series",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - Episodios de series",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_anime",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - Anime",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_documentales",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - Documentales",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_latino",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - Documentales",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "include_in_newest_4k",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en Novedades - 4K",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_timeout_downloadpage",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Timeout (segs.) en descarga de páginas o verificación de servidores",
|
|
||||||
"default": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"None",
|
|
||||||
"1",
|
|
||||||
"2",
|
|
||||||
"3",
|
|
||||||
"4",
|
|
||||||
"5",
|
|
||||||
"6",
|
|
||||||
"7",
|
|
||||||
"8",
|
|
||||||
"9",
|
|
||||||
"10"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -165,7 +165,7 @@ def youtube_search(item):
|
|||||||
patron += """url":"([^"]+)"""
|
patron += """url":"([^"]+)"""
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
for scrapedthumbnail, scrapedtitle, scrapedduration, scrapedurl in matches:
|
for scrapedthumbnail, scrapedtitle, scrapedduration, scrapedurl in matches:
|
||||||
scrapedtitle = scrapedtitle.decode("utf-8")
|
scrapedtitle = scrapedtitle.decode('utf8').encode('utf8')
|
||||||
scrapedtitle = scrapedtitle + " (" + scrapedduration + ")"
|
scrapedtitle = scrapedtitle + " (" + scrapedduration + ")"
|
||||||
if item.contextual:
|
if item.contextual:
|
||||||
scrapedtitle = "[COLOR white]%s[/COLOR]" % scrapedtitle
|
scrapedtitle = "[COLOR white]%s[/COLOR]" % scrapedtitle
|
||||||
|
|||||||
@@ -1,471 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "tumejortorrent",
|
|
||||||
"name": "Tumejortorrent",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["cast", "lat"],
|
|
||||||
"thumbnail": "tumejortorrent.png",
|
|
||||||
"banner": "tumejortorrent.png",
|
|
||||||
"categories": [
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"anime",
|
|
||||||
"torrent",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,471 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "tvsinpagar",
|
|
||||||
"name": "Tvsinpagar",
|
|
||||||
"active": false,
|
|
||||||
"adult": false,
|
|
||||||
"language": ["cast", "lat"],
|
|
||||||
"thumbnail": "tvsinpagar.png",
|
|
||||||
"banner": "tvsinpagar.png",
|
|
||||||
"categories": [
|
|
||||||
"movie",
|
|
||||||
"tvshow",
|
|
||||||
"anime",
|
|
||||||
"torrent",
|
|
||||||
"documentary",
|
|
||||||
"vos",
|
|
||||||
"direct"
|
|
||||||
],
|
|
||||||
"settings": [
|
|
||||||
{
|
|
||||||
"id": "include_in_global_search",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Incluir en busqueda global",
|
|
||||||
"default": false,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "modo_grafico",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Buscar información extra (TMDB)",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "seleccionar_ult_temporadda_activa",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "Seleccionar para Videoteca si estará activa solo la última Temporada",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Ver Online",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_veronline_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Ver Online?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 9,
|
|
||||||
"max_excl": 5,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 12,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 20,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_veronline",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Online",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_ver_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Mostrar enlaces Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": true,
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Verificar enlaces Descargas",
|
|
||||||
"default": 1,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Todos",
|
|
||||||
"1",
|
|
||||||
"5",
|
|
||||||
"10",
|
|
||||||
"20",
|
|
||||||
"30",
|
|
||||||
"50",
|
|
||||||
"100"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_verificar_enlaces_descargas_validos",
|
|
||||||
"type": "bool",
|
|
||||||
"label": "¿Contar sólo enlaces 'verificados' en Descargar?",
|
|
||||||
"default": true,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No') + !eq(-2,'No')"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir1_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-3,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir2_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Ver Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir3_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir4_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "clonenewpct1_excluir5_enlaces_descargas",
|
|
||||||
"type": "list",
|
|
||||||
"label": "Excluir Servidores para Descargas",
|
|
||||||
"default": 0,
|
|
||||||
"enabled": true,
|
|
||||||
"visible": "!eq(-1,'No')",
|
|
||||||
"lvalues": [
|
|
||||||
"No",
|
|
||||||
"Bankupload",
|
|
||||||
"Clipwatching",
|
|
||||||
"Flashx",
|
|
||||||
"Katfile",
|
|
||||||
"Mega",
|
|
||||||
"Mexashare",
|
|
||||||
"Movshare",
|
|
||||||
"Mowvideo",
|
|
||||||
"Openload",
|
|
||||||
"Powvideo",
|
|
||||||
"Rapidgator",
|
|
||||||
"Streamango",
|
|
||||||
"Streamcloud",
|
|
||||||
"Streame",
|
|
||||||
"Streaminto",
|
|
||||||
"Streamplay",
|
|
||||||
"Thevideo",
|
|
||||||
"Turbobit",
|
|
||||||
"Uploadedto",
|
|
||||||
"Uptobox",
|
|
||||||
"Userscloud",
|
|
||||||
"Vidabc",
|
|
||||||
"Vidspot"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -607,14 +607,25 @@ def findvideos(item):
|
|||||||
def play(item):
|
def play(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
#logger.debug('item.url %s' % item.url)
|
||||||
uri = scrapertools.find_single_match(item.url, '(/transcoder[\w\W]+)')
|
uri = scrapertools.find_single_match(item.url, '(/transcoder[\w\W]+)')
|
||||||
uri_request = host + "/video-prod/s/uri?uri=%s&_=%s" % (uri, int(time.time()))
|
s = scrapertools.find_single_match(item.url, r'http.*?://(.*?)\.')
|
||||||
|
#logger.debug('uri %s' % uri)
|
||||||
|
#logger.debug('s %s'% s)
|
||||||
|
uri_request = host + "/video2-prod/s/uri?uri=%s&s=%s&_=%s" % (uri, s, int(time.time()))
|
||||||
data = httptools.downloadpage(uri_request).data
|
data = httptools.downloadpage(uri_request).data
|
||||||
data = jsontools.load(data)
|
data = jsontools.load(data)
|
||||||
url = item.url.replace(".tv-vip.com/transcoder/", ".tv-vip.in/c/transcoder/") + "?tt=" + str(data['tt']) + \
|
#logger.debug(data)
|
||||||
"&mm=" + data['mm'] + "&bb=" + data['bb']
|
if data['s'] == None:
|
||||||
url += "|User-Agent=Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Mobile Safari/537.36"
|
data['s'] = ''
|
||||||
|
url = item.url.replace(".tv-vip.com/transcoder/", ".%s/e/transcoder/") % (data['b']) + "?tt=" + str(data['a']['tt']) + \
|
||||||
|
"&mm=" + data['a']['mm'] + "&bb=" + data['a']['bb']
|
||||||
|
|
||||||
|
#logger.debug(url)
|
||||||
|
#url += "|User-Agent=Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Mobile Safari/537.36"
|
||||||
|
|
||||||
itemlist.append(item.clone(action="play", server="directo", url=url, folder=False))
|
itemlist.append(item.clone(action="play", server="directo", url=url, folder=False))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
"label": "@60606",
|
"label": "@60606",
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"visible": true,
|
"visible": true,
|
||||||
"enabled": "eq(-1,@60603])|eq(-1,@60605])",
|
"enabled": "eq(-1,@60603)|eq(-1,@60605)",
|
||||||
"lvalues": [
|
"lvalues": [
|
||||||
"No",
|
"No",
|
||||||
"@60609",
|
"@60609",
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"label": "@60613",
|
"label": "@60613",
|
||||||
"default": 1,
|
"default": 1,
|
||||||
"visible": true,
|
"visible": true,
|
||||||
"enabled": "eq(-2,@60604])|eq(-2,@60605])",
|
"enabled": "eq(-2,@60604)|eq(-2,@60605)",
|
||||||
"lvalues": [
|
"lvalues": [
|
||||||
"00:00",
|
"00:00",
|
||||||
"04:00",
|
"04:00",
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
"label": "@60614",
|
"label": "@60614",
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"visible": true,
|
"visible": true,
|
||||||
"enabled": "!eq(-3,@60615])",
|
"enabled": "!eq(-3,@60615)",
|
||||||
"lvalues": [
|
"lvalues": [
|
||||||
"@60616",
|
"@60616",
|
||||||
"@60617"
|
"@60617"
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
"type": "list",
|
"type": "list",
|
||||||
"label": "@60618",
|
"label": "@60618",
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"enabled": "!eq(-4,@60615])",
|
"enabled": "!eq(-4,@60615)",
|
||||||
"lvalues": [
|
"lvalues": [
|
||||||
"@60619",
|
"@60619",
|
||||||
"@60620"
|
"@60620"
|
||||||
|
|||||||
@@ -294,10 +294,16 @@ def save_tvshow(item, episodelist):
|
|||||||
if episodelist and "list_language" in episodelist[0]:
|
if episodelist and "list_language" in episodelist[0]:
|
||||||
# si ya hemos añadido un canal previamente con filtro, añadimos o actualizamos el canal y show
|
# si ya hemos añadido un canal previamente con filtro, añadimos o actualizamos el canal y show
|
||||||
if "library_filter_show" in item_tvshow:
|
if "library_filter_show" in item_tvshow:
|
||||||
item_tvshow.library_filter_show[item.channel] = item.show
|
if item.title_from_channel:
|
||||||
|
item_tvshow.library_filter_show[item.channel] = item.title_from_channel
|
||||||
|
else:
|
||||||
|
item_tvshow.library_filter_show[item.channel] = item.show
|
||||||
# no habia ningún canal con filtro y lo generamos por primera vez
|
# no habia ningún canal con filtro y lo generamos por primera vez
|
||||||
else:
|
else:
|
||||||
item_tvshow.library_filter_show = {item.channel: item.show}
|
if item.title_from_channel:
|
||||||
|
item_tvshow.library_filter_show = {item.channel: item.title_from_channel}
|
||||||
|
else:
|
||||||
|
item_tvshow.library_filter_show = {item.channel: item.show}
|
||||||
|
|
||||||
if item.channel != "downloads":
|
if item.channel != "downloads":
|
||||||
item_tvshow.active = 1 # para que se actualice a diario cuando se llame a videolibrary_service
|
item_tvshow.active = 1 # para que se actualice a diario cuando se llame a videolibrary_service
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# Código reusable de diferentes partes de los canales que pueden
|
# Código reusable de diferentes partes de los canales que pueden
|
||||||
# ser llamadados desde otros canales, y así carificar el formato
|
# ser llamadados desde otros canales, y así carificar el formato
|
||||||
# y resultado de cada canal y reducir el costo su mantenimiento
|
# y resultado de cada canal y reducir el costo su mantenimiento
|
||||||
# ----------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
@@ -17,6 +17,7 @@ from channelselector import get_thumb
|
|||||||
from core import httptools
|
from core import httptools
|
||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from core import servertools
|
from core import servertools
|
||||||
|
from core import channeltools
|
||||||
from core.item import Item
|
from core.item import Item
|
||||||
from platformcode import config, logger
|
from platformcode import config, logger
|
||||||
from core import tmdb
|
from core import tmdb
|
||||||
@@ -57,6 +58,7 @@ def update_title(item):
|
|||||||
Si lo hace en "Completar Información", cambia al nuevo título, pero no busca en TMDB. Hay que hacerlo de nuevo
|
Si lo hace en "Completar Información", cambia al nuevo título, pero no busca en TMDB. Hay que hacerlo de nuevo
|
||||||
Si se cancela la segunda pantalla, la variable "scraper_return" estará en False. El usuario no quiere seguir
|
Si se cancela la segunda pantalla, la variable "scraper_return" estará en False. El usuario no quiere seguir
|
||||||
"""
|
"""
|
||||||
|
#logger.debug(item)
|
||||||
|
|
||||||
#Restauramos y borramos las etiquetas intermedias (si se ha llamado desde el canal)
|
#Restauramos y borramos las etiquetas intermedias (si se ha llamado desde el canal)
|
||||||
if item.from_action:
|
if item.from_action:
|
||||||
@@ -65,14 +67,16 @@ def update_title(item):
|
|||||||
if item.from_title:
|
if item.from_title:
|
||||||
item.title = item.from_title
|
item.title = item.from_title
|
||||||
del item.from_title
|
del item.from_title
|
||||||
else:
|
elif item.contentType != "movie":
|
||||||
if item.contentType != "movie":
|
item.add_videolibrary = True #Estamos Añadiendo a la Videoteca. Indicador para control de uso de los Canales
|
||||||
item.add_videolibrary = True #Estamos Añadiendo a la Videoteca. Indicador para control de uso de los Canales
|
if item.contentType == "movie":
|
||||||
else:
|
if item.channel == channel_py: #Si es una peli de NewPct1, ponemos el nombre del clone
|
||||||
if item.channel == channel_py: #Si es una peli de NewPct1, ponemos el nombre del clone
|
item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/')
|
||||||
item.channel = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/')
|
|
||||||
if item.channel_host: #Borramos ya el indicador para que no se guarde en la Videoteca
|
if item.channel_host: #Borramos ya el indicador para que no se guarde en la Videoteca
|
||||||
del item.channel_host
|
del item.channel_host
|
||||||
|
if item.contentTitle:
|
||||||
|
item.contentTitle = re.sub(r' -%s-' % item.category, '', item.contentTitle)
|
||||||
|
item.title = re.sub(r' -%s-' % item.category, '', item.title)
|
||||||
|
|
||||||
#Sólo ejecutamos este código si no se ha hecho antes en el Canal. Por ejemplo, si se ha llamado desde Episodios,
|
#Sólo ejecutamos este código si no se ha hecho antes en el Canal. Por ejemplo, si se ha llamado desde Episodios,
|
||||||
#ya no se ejecutará al Añadia a Videoteca, aunque desde el canal se podrá llamar tantas veces como se quiera,
|
#ya no se ejecutará al Añadia a Videoteca, aunque desde el canal se podrá llamar tantas veces como se quiera,
|
||||||
@@ -114,29 +118,34 @@ def update_title(item):
|
|||||||
item.tmdb_stat = True #Marcamos Item como procesado correctamente por TMDB (pasada 1)
|
item.tmdb_stat = True #Marcamos Item como procesado correctamente por TMDB (pasada 1)
|
||||||
|
|
||||||
#Si el usuario ha seleccionado una opción distinta o cambiado algo, ajustamos los títulos
|
#Si el usuario ha seleccionado una opción distinta o cambiado algo, ajustamos los títulos
|
||||||
if new_item.contentSerieName: #Si es serie...
|
if item.tmdb_stat == True:
|
||||||
item.title = item.title.replace(new_item.contentSerieName, item.contentTitle)
|
if new_item.contentSerieName: #Si es serie...
|
||||||
item.contentSerieName = item.contentTitle
|
if config.get_setting("filter_languages", item.channel) >= 0:
|
||||||
if new_item.contentSeason: item.contentSeason = new_item.contentSeason #Restauramos Temporada
|
item.title_from_channel = new_item.contentSerieName #Guardo el título incial para Filtertools
|
||||||
if item.infoLabels['title']: del item.infoLabels['title'] #Borramos título de peli (es serie)
|
item.contentSerieName = new_item.contentSerieName #Guardo el título incial para Filtertools
|
||||||
else: #Si es película...
|
else:
|
||||||
item.title = item.title.replace(new_item.contentTitle, item.contentTitle)
|
item.title = item.title.replace(new_item.contentSerieName, item.contentTitle)
|
||||||
if new_item.infoLabels['year']: #Actualizamos el Año en el título
|
item.contentSerieName = item.contentTitle
|
||||||
item.title = item.title.replace(str(new_item.infoLabels['year']), str(item.infoLabels['year']))
|
if new_item.contentSeason: item.contentSeason = new_item.contentSeason #Restauramos Temporada
|
||||||
if new_item.infoLabels['rating']: #Actualizamos en Rating en el título
|
if item.infoLabels['title']: del item.infoLabels['title'] #Borramos título de peli (es serie)
|
||||||
rating_old = ''
|
else: #Si es película...
|
||||||
if new_item.infoLabels['rating'] and new_item.infoLabels['rating'] != '0.0':
|
item.title = item.title.replace(new_item.contentTitle, item.contentTitle)
|
||||||
rating_old = float(new_item.infoLabels['rating'])
|
if new_item.infoLabels['year']: #Actualizamos el Año en el título
|
||||||
rating_old = round(rating_old, 1)
|
item.title = item.title.replace(str(new_item.infoLabels['year']), str(item.infoLabels['year']))
|
||||||
rating_new = ''
|
if new_item.infoLabels['rating']: #Actualizamos en Rating en el título
|
||||||
if item.infoLabels['rating'] and item.infoLabels['rating'] != '0.0':
|
rating_old = ''
|
||||||
rating_new = float(item.infoLabels['rating'])
|
if new_item.infoLabels['rating'] and new_item.infoLabels['rating'] != '0.0':
|
||||||
rating_new = round(rating_new, 1)
|
rating_old = float(new_item.infoLabels['rating'])
|
||||||
item.title = item.title.replace("[" + str(rating_old) + "]", "[" + str(rating_new) + "]")
|
rating_old = round(rating_old, 1)
|
||||||
if item.wanted: #Actualizamos Wanted, si existe
|
rating_new = ''
|
||||||
item.wanted = item.contentTitle
|
if item.infoLabels['rating'] and item.infoLabels['rating'] != '0.0':
|
||||||
if new_item.contentSeason: #Restauramos el núm. de Temporada después de TMDB
|
rating_new = float(item.infoLabels['rating'])
|
||||||
item.contentSeason = new_item.contentSeason
|
rating_new = round(rating_new, 1)
|
||||||
|
item.title = item.title.replace("[" + str(rating_old) + "]", "[" + str(rating_new) + "]")
|
||||||
|
if item.wanted: #Actualizamos Wanted, si existe
|
||||||
|
item.wanted = item.contentTitle
|
||||||
|
if new_item.contentSeason: #Restauramos el núm. de Temporada después de TMDB
|
||||||
|
item.contentSeason = new_item.contentSeason
|
||||||
|
|
||||||
#Para evitar el "efecto memoria" de TMDB, se le llama con un título ficticio para que resetee los buffers
|
#Para evitar el "efecto memoria" de TMDB, se le llama con un título ficticio para que resetee los buffers
|
||||||
if item.contentSerieName:
|
if item.contentSerieName:
|
||||||
@@ -172,6 +181,7 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
item, itemlist = generictools.post_tmdb_listado(item, itemlist)
|
item, itemlist = generictools.post_tmdb_listado(item, itemlist)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
#logger.debug(item)
|
||||||
|
|
||||||
#Borramos valores si ha habido fail-over
|
#Borramos valores si ha habido fail-over
|
||||||
channel_alt = ''
|
channel_alt = ''
|
||||||
@@ -181,11 +191,13 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
if item.url_alt:
|
if item.url_alt:
|
||||||
del item.url_alt
|
del item.url_alt
|
||||||
#Ajustamos el nombre de la categoría
|
#Ajustamos el nombre de la categoría
|
||||||
if item.category != "newest":
|
if not item.category_new:
|
||||||
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
item.category_new = ''
|
||||||
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
|
||||||
for item_local in itemlist: #Recorremos el Itenlist generado por el canal
|
for item_local in itemlist: #Recorremos el Itenlist generado por el canal
|
||||||
title = item_local.title
|
title = item_local.title
|
||||||
|
#logger.debug(item_local)
|
||||||
|
|
||||||
if item_local.contentSeason_save: #Restauramos el num. de Temporada
|
if item_local.contentSeason_save: #Restauramos el num. de Temporada
|
||||||
item_local.contentSeason = item_local.contentSeason_save
|
item_local.contentSeason = item_local.contentSeason_save
|
||||||
@@ -197,8 +209,7 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
del item_local.url_alt
|
del item_local.url_alt
|
||||||
|
|
||||||
#Ajustamos el nombre de la categoría
|
#Ajustamos el nombre de la categoría
|
||||||
if item_local.category != "newest":
|
item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
|
||||||
|
|
||||||
#Restauramos la info adicional guarda en la lista title_subs, y la borramos de Item
|
#Restauramos la info adicional guarda en la lista title_subs, y la borramos de Item
|
||||||
title_add = ' '
|
title_add = ' '
|
||||||
@@ -213,7 +224,7 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
title_add = title_add.rstrip()
|
title_add = title_add.rstrip()
|
||||||
title_add += '%s -%s-' % (title_add, title_subs) #se agregan el resto de etiquetas salvadas
|
title_add = '%s -%s-' % (title_add, title_subs) #se agregan el resto de etiquetas salvadas
|
||||||
item_local.title_subs = []
|
item_local.title_subs = []
|
||||||
del item_local.title_subs
|
del item_local.title_subs
|
||||||
|
|
||||||
@@ -252,9 +263,15 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
item_local.infoLabels['episodio_titulo'] = '%s, %s [%s] [%s]' % (item_local.infoLabels['episodio_titulo'], item_local.contentSerieName, item_local.infoLabels['year'], rating)
|
item_local.infoLabels['episodio_titulo'] = '%s, %s [%s] [%s]' % (item_local.infoLabels['episodio_titulo'], item_local.contentSerieName, item_local.infoLabels['year'], rating)
|
||||||
|
|
||||||
else: #Si no hay título de episodio, ponermos el nombre de la serie
|
else: #Si no hay título de episodio, ponermos el nombre de la serie
|
||||||
title = '%s %s' % (title, item_local.contentSerieName)
|
if item_local.contentSerieName not in title:
|
||||||
|
title = '%s %s' % (title, item_local.contentSerieName)
|
||||||
item_local.infoLabels['episodio_titulo'] = '%s [%s] [%s]' % (item_local.contentSerieName, item_local.infoLabels['year'], rating)
|
item_local.infoLabels['episodio_titulo'] = '%s [%s] [%s]' % (item_local.contentSerieName, item_local.infoLabels['year'], rating)
|
||||||
|
|
||||||
|
if not item_local.contentSeason or not item_local.contentEpisodeNumber:
|
||||||
|
if "Episodio" in title_add:
|
||||||
|
item_local.contentSeason, item_local.contentEpisodeNumber = scrapertools.find_single_match(title_add, 'Episodio (\d+)x(\d+)')
|
||||||
|
title = '%s [%s] [%s]' % (title, item_local.infoLabels['year'], rating)
|
||||||
|
|
||||||
elif item_local.contentType == "season":
|
elif item_local.contentType == "season":
|
||||||
if not item_local.contentSeason:
|
if not item_local.contentSeason:
|
||||||
item_local.contentSeason = scrapertools.find_single_match(item_local.url, '-(\d+)x')
|
item_local.contentSeason = scrapertools.find_single_match(item_local.url, '-(\d+)x')
|
||||||
@@ -271,7 +288,7 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
elif item.action == "search":
|
elif item.action == "search":
|
||||||
title += " -Serie-"
|
title += " -Serie-"
|
||||||
|
|
||||||
elif item_local.extra == "varios" and item.action == "search":
|
elif item_local.extra == "varios" and (item.action == "search" or item.action == "listado_busqueda"):
|
||||||
title += " -Varios-"
|
title += " -Varios-"
|
||||||
item_local.contentTitle += " -Varios-"
|
item_local.contentTitle += " -Varios-"
|
||||||
|
|
||||||
@@ -282,7 +299,7 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
title = '%s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR]' % (title, str(item_local.infoLabels['year']), rating, item_local.quality, str(item_local.language))
|
title = '%s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR]' % (title, str(item_local.infoLabels['year']), rating, item_local.quality, str(item_local.language))
|
||||||
|
|
||||||
else: #Si Titulos Inteligentes SÍ seleccionados:
|
else: #Si Titulos Inteligentes SÍ seleccionados:
|
||||||
title = title.replace("[", "-").replace("]", "-")
|
title = title.replace("[", "-").replace("]", "-").replace(".", ",")
|
||||||
|
|
||||||
#Limpiamos las etiquetas vacías
|
#Limpiamos las etiquetas vacías
|
||||||
if item_local.infoLabels['episodio_titulo']:
|
if item_local.infoLabels['episodio_titulo']:
|
||||||
@@ -291,10 +308,13 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
title = re.sub(r'\s\[COLOR \w+\]\[\[?\]?\]\[\/COLOR\]', '', title).strip()
|
title = re.sub(r'\s\[COLOR \w+\]\[\[?\]?\]\[\/COLOR\]', '', title).strip()
|
||||||
title = re.sub(r'\s\[COLOR \w+\]\[\/COLOR\]', '', title).strip()
|
title = re.sub(r'\s\[COLOR \w+\]\[\/COLOR\]', '', title).strip()
|
||||||
|
|
||||||
if item.category == "newest": #Viene de Novedades. Marcamos el título con el nombre del canal
|
if item.category_new == "newest": #Viene de Novedades. Marcamos el título con el nombre del canal
|
||||||
title += ' -%s-' % scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
title += ' -%s-' % scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
if item_local.contentType == "movie":
|
if item_local.contentType == "movie":
|
||||||
item_local.contentTitle += ' -%s-' % scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
item_local.contentTitle += ' -%s-' % scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
elif "Episodio " in title:
|
||||||
|
if not item_local.contentSeason or not item_local.contentEpisodeNumber:
|
||||||
|
item_local.contentSeason, item_local.contentEpisodeNumber = scrapertools.find_single_match(title_add, 'Episodio (\d+)x(\d+)')
|
||||||
|
|
||||||
item_local.title = title
|
item_local.title = title
|
||||||
|
|
||||||
@@ -303,10 +323,12 @@ def post_tmdb_listado(item, itemlist):
|
|||||||
#logger.debug(item_local)
|
#logger.debug(item_local)
|
||||||
|
|
||||||
#Si ha habido fail-over, lo comento
|
#Si ha habido fail-over, lo comento
|
||||||
if channel_alt:
|
if channel_alt and item.category_new != "newest":
|
||||||
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.category + '[/COLOR] [ALT ] en uso'))
|
itemlist.append(item.clone(action='', title="[COLOR yellow]" + item.category + '[/COLOR] [ALT ] en uso'))
|
||||||
itemlist.append(item.clone(action='', title="[COLOR yellow]" + channel_alt.capitalize() + '[/COLOR] inaccesible'))
|
itemlist.append(item.clone(action='', title="[COLOR yellow]" + channel_alt.capitalize() + '[/COLOR] inaccesible'))
|
||||||
|
|
||||||
|
del item.category_new
|
||||||
|
|
||||||
return (item, itemlist)
|
return (item, itemlist)
|
||||||
|
|
||||||
|
|
||||||
@@ -329,6 +351,7 @@ def post_tmdb_episodios(item, itemlist):
|
|||||||
item, itemlist = generictools.post_tmdb_episodios(item, itemlist)
|
item, itemlist = generictools.post_tmdb_episodios(item, itemlist)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
#logger.debug(item)
|
||||||
|
|
||||||
modo_serie_temp = ''
|
modo_serie_temp = ''
|
||||||
if config.get_setting('seleccionar_serie_temporada', item.channel) >= 0:
|
if config.get_setting('seleccionar_serie_temporada', item.channel) >= 0:
|
||||||
@@ -371,6 +394,8 @@ def post_tmdb_episodios(item, itemlist):
|
|||||||
if item.url_alt:
|
if item.url_alt:
|
||||||
item.url = item.url_alt
|
item.url = item.url_alt
|
||||||
del item.url_alt
|
del item.url_alt
|
||||||
|
if item.title_from_channel:
|
||||||
|
del item.title_from_channel
|
||||||
|
|
||||||
for item_local in itemlist: #Recorremos el Itenlist generado por el canal
|
for item_local in itemlist: #Recorremos el Itenlist generado por el canal
|
||||||
if item_local.add_videolibrary:
|
if item_local.add_videolibrary:
|
||||||
@@ -379,6 +404,8 @@ def post_tmdb_episodios(item, itemlist):
|
|||||||
del item_local.add_menu
|
del item_local.add_menu
|
||||||
if item_local.contentSeason_save:
|
if item_local.contentSeason_save:
|
||||||
del item_local.contentSeason_save
|
del item_local.contentSeason_save
|
||||||
|
if item_local.title_from_channel:
|
||||||
|
del item_local.title_from_channel
|
||||||
|
|
||||||
#Ajustamos el nombre de la categoría si es un clone de NewPct1
|
#Ajustamos el nombre de la categoría si es un clone de NewPct1
|
||||||
item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
item_local.category = scrapertools.find_single_match(item_local.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
@@ -538,20 +565,20 @@ def post_tmdb_episodios(item, itemlist):
|
|||||||
videolibrarytools.save_tvshow(item, itemlist_fake) #Se actualiza el .nfo
|
videolibrarytools.save_tvshow(item, itemlist_fake) #Se actualiza el .nfo
|
||||||
except:
|
except:
|
||||||
logger.error("ERROR 08: EPISODIOS: No se ha podido actualizar la URL a la nueva Temporada")
|
logger.error("ERROR 08: EPISODIOS: No se ha podido actualizar la URL a la nueva Temporada")
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a la Videoteca[/COLOR]" + title, action="add_serie_to_library"))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca-[/COLOR]" + title, action="add_serie_to_library"))
|
||||||
|
|
||||||
elif modo_serie_temp == 1: #si es Serie damos la opción de guardar la última temporada o la serie completa
|
elif modo_serie_temp == 1: #si es Serie damos la opción de guardar la última temporada o la serie completa
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir última Temp. a Videoteca[/COLOR]" + title, action="add_serie_to_library", contentType="season", contentSeason=contentSeason, url=item_local.url, add_menu=True))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir última Temp. a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="season", contentSeason=contentSeason, url=item_local.url, add_menu=True))
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca[/COLOR]" + title, action="add_serie_to_library", contentType="tvshow", add_menu=True))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="tvshow", add_menu=True))
|
||||||
|
|
||||||
else: #si no, damos la opción de guardar la temporada actual o la serie completa
|
else: #si no, damos la opción de guardar la temporada actual o la serie completa
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca[/COLOR]" + title, action="add_serie_to_library", contentType="tvshow", add_menu=True))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Serie a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="tvshow", add_menu=True))
|
||||||
if item.add_videolibrary and not item.add_menu:
|
if item.add_videolibrary and not item.add_menu:
|
||||||
item.contentSeason = contentSeason
|
item.contentSeason = contentSeason
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Temp. a Videoteca[/COLOR]" + title, action="add_serie_to_library", contentType="season", contentSeason=contentSeason, add_menu=True))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta Temp. a Videoteca-[/COLOR]" + title, action="add_serie_to_library", contentType="season", contentSeason=contentSeason, add_menu=True))
|
||||||
|
|
||||||
else: #Es un canal estándar, sólo una linea de Añadir a Videoteca
|
else: #Es un canal estándar, sólo una linea de Añadir a Videoteca
|
||||||
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]" + title, action="add_serie_to_library", extra="episodios", add_menu=True))
|
itemlist.append(item.clone(title="[COLOR yellow]Añadir esta serie a videoteca-[/COLOR]" + title, action="add_serie_to_library", extra="episodios", add_menu=True))
|
||||||
|
|
||||||
#Si ha habido fail-over, lo comento
|
#Si ha habido fail-over, lo comento
|
||||||
if channel_alt:
|
if channel_alt:
|
||||||
@@ -619,6 +646,11 @@ def post_tmdb_findvideos(item, itemlist):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
#Quitamos el la categoría o nombre del título, si lo tiene
|
||||||
|
if item.contentTitle:
|
||||||
|
item.contentTitle = re.sub(r' -%s-' % item.category, '', item.contentTitle)
|
||||||
|
item.title = re.sub(r' -%s-' % item.category, '', item.title)
|
||||||
|
|
||||||
#Limpiamos de año y rating de episodios
|
#Limpiamos de año y rating de episodios
|
||||||
if item.infoLabels['episodio_titulo']:
|
if item.infoLabels['episodio_titulo']:
|
||||||
item.infoLabels['episodio_titulo'] = re.sub(r'\s?\[.*?\]', '', item.infoLabels['episodio_titulo'])
|
item.infoLabels['episodio_titulo'] = re.sub(r'\s?\[.*?\]', '', item.infoLabels['episodio_titulo'])
|
||||||
@@ -647,7 +679,12 @@ def post_tmdb_findvideos(item, itemlist):
|
|||||||
title = '%sx%s' % (str(item.contentSeason), str(item.contentEpisodeNumber).zfill(2)) #Temporada y Episodio
|
title = '%sx%s' % (str(item.contentSeason), str(item.contentEpisodeNumber).zfill(2)) #Temporada y Episodio
|
||||||
if item.infoLabels['temporada_num_episodios']:
|
if item.infoLabels['temporada_num_episodios']:
|
||||||
title = '%s (de %s)' % (title, str(item.infoLabels['temporada_num_episodios'])) #Total Episodios
|
title = '%s (de %s)' % (title, str(item.infoLabels['temporada_num_episodios'])) #Total Episodios
|
||||||
title = '%s %s' % (title, item.infoLabels['episodio_titulo']) #Título Episodio
|
|
||||||
|
#Si son episodios múltiples, y viene de Videoteca, ponemos nombre de serie
|
||||||
|
if " al " in item.title and not " al " in item.infoLabels['episodio_titulo']:
|
||||||
|
title = '%s al %s - ' % (title, scrapertools.find_single_match(item.title, 'al (\d+)'))
|
||||||
|
else:
|
||||||
|
title = '%s %s' % (title, item.infoLabels['episodio_titulo']) #Título Episodio
|
||||||
title_gen = '%s, %s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR] [%s]' % (title, item.contentSerieName, item.infoLabels['year'], rating, item.quality, str(item.language), scrapertools.find_single_match(item.title, '\s\[(\d+,?\d*?\s\w[b|B])\]')) #Rating, Calidad, Idioma, Tamaño
|
title_gen = '%s, %s [COLOR yellow][%s][/COLOR] [%s] [COLOR limegreen][%s][/COLOR] [COLOR red]%s[/COLOR] [%s]' % (title, item.contentSerieName, item.infoLabels['year'], rating, item.quality, str(item.language), scrapertools.find_single_match(item.title, '\s\[(\d+,?\d*?\s\w[b|B])\]')) #Rating, Calidad, Idioma, Tamaño
|
||||||
if item.infoLabels['status'] and item.infoLabels['status'].lower() == "ended":
|
if item.infoLabels['status'] and item.infoLabels['status'].lower() == "ended":
|
||||||
title_gen = '[TERM.] %s' % title_gen #Marca cuando la Serie está terminada y no va a haber más producción
|
title_gen = '[TERM.] %s' % title_gen #Marca cuando la Serie está terminada y no va a haber más producción
|
||||||
@@ -660,6 +697,7 @@ def post_tmdb_findvideos(item, itemlist):
|
|||||||
title_gen = re.sub(r'\s\[COLOR \w+\]\[\[?\]?\]\[\/COLOR\]', '', title_gen).strip() #Quitamos etiquetas vacías
|
title_gen = re.sub(r'\s\[COLOR \w+\]\[\[?\]?\]\[\/COLOR\]', '', title_gen).strip() #Quitamos etiquetas vacías
|
||||||
title_gen = re.sub(r'\s\[COLOR \w+\]\[\/COLOR\]', '', title_gen).strip() #Quitamos colores vacíos
|
title_gen = re.sub(r'\s\[COLOR \w+\]\[\/COLOR\]', '', title_gen).strip() #Quitamos colores vacíos
|
||||||
title_gen = title_gen.replace(" []", "").strip() #Quitamos etiquetas vacías
|
title_gen = title_gen.replace(" []", "").strip() #Quitamos etiquetas vacías
|
||||||
|
title_videoteca = title_gen #Salvamos el título para Videoteca
|
||||||
|
|
||||||
if not item.unify: #Si Titulos Inteligentes NO seleccionados:
|
if not item.unify: #Si Titulos Inteligentes NO seleccionados:
|
||||||
title_gen = '**- [COLOR gold]Enlaces Ver: [/COLOR]%s[COLOR gold] -**[/COLOR]' % (title_gen)
|
title_gen = '**- [COLOR gold]Enlaces Ver: [/COLOR]%s[COLOR gold] -**[/COLOR]' % (title_gen)
|
||||||
@@ -668,7 +706,7 @@ def post_tmdb_findvideos(item, itemlist):
|
|||||||
|
|
||||||
if item.channel_alt:
|
if item.channel_alt:
|
||||||
title_gen = '[COLOR yellow]%s [/COLOR][ALT]: %s' % (item.category.capitalize(), title_gen)
|
title_gen = '[COLOR yellow]%s [/COLOR][ALT]: %s' % (item.category.capitalize(), title_gen)
|
||||||
elif config.get_setting("quit_channel_name", "videolibrary") == 1 and item.contentChannel == "videolibrary":
|
elif (config.get_setting("quit_channel_name", "videolibrary") == 1 or item.channel == channel_py) and item.contentChannel == "videolibrary":
|
||||||
title_gen = '%s: %s' % (item.category.capitalize(), title_gen)
|
title_gen = '%s: %s' % (item.category.capitalize(), title_gen)
|
||||||
|
|
||||||
#Pintamos el pseudo-título con toda la información disponible del vídeo
|
#Pintamos el pseudo-título con toda la información disponible del vídeo
|
||||||
@@ -676,6 +714,14 @@ def post_tmdb_findvideos(item, itemlist):
|
|||||||
item.server = ""
|
item.server = ""
|
||||||
itemlist.append(item.clone(title=title_gen)) #Título con todos los datos del vídeo
|
itemlist.append(item.clone(title=title_gen)) #Título con todos los datos del vídeo
|
||||||
|
|
||||||
|
#agregamos la opción de Añadir a Videoteca para péliculas (no series)
|
||||||
|
if item.contentType == 'movie' and item.contentChannel != "videolibrary":
|
||||||
|
itemlist.append(item.clone(title="**-[COLOR yellow] Añadir a la videoteca [/COLOR]-**", action="add_pelicula_to_library", extra="películas", from_title=title_videoteca))
|
||||||
|
|
||||||
|
#Añadimos la opción de ver trailers
|
||||||
|
if item.contentChannel != "videolibrary":
|
||||||
|
itemlist.append(item.clone(channel="trailertools", title="**-[COLOR magenta] Buscar Trailer [/COLOR]-**", action="buscartrailer", context=""))
|
||||||
|
|
||||||
#logger.debug(item)
|
#logger.debug(item)
|
||||||
|
|
||||||
return (item, itemlist)
|
return (item, itemlist)
|
||||||
@@ -708,16 +754,28 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None):
|
|||||||
- Saida: data: devuelve los datos del la nueva web. Si vuelve vacía es que no se ha encontrado alternativa
|
- Saida: data: devuelve los datos del la nueva web. Si vuelve vacía es que no se ha encontrado alternativa
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
#logger.debug(item)
|
||||||
|
|
||||||
if timeout == None:
|
if timeout == None:
|
||||||
timeout = config.get_setting('clonenewpct1_timeout_downloadpage', channel_py) #Timeout downloadpage
|
timeout = config.get_setting('clonenewpct1_timeout_downloadpage', channel_py) #Timeout downloadpage
|
||||||
if timeout == 0: timeout = None
|
if timeout == 0: timeout = None
|
||||||
|
if item.action == "search" or item.action == "listado_busqueda": timeout = timeout * 2 #Mas tiempo para búsquedas
|
||||||
|
|
||||||
data = ''
|
data = ''
|
||||||
channel_failed = ''
|
channel_failed = ''
|
||||||
|
if not item.category:
|
||||||
|
item.category = scrapertools.find_single_match(item.url, 'http.?\:\/\/(?:www.)?(\w+)\.\w+\/').capitalize()
|
||||||
|
if not item.extra2:
|
||||||
|
item.extra2 = 'z9z8z7z6z5'
|
||||||
|
|
||||||
#Array con los datos de los canales alternativos
|
#Array con los datos de los canales alternativos
|
||||||
fail_over_list = config.get_setting('clonenewpct1_channels_list', channel_py)
|
#Cargamos en .json del canal para ver las listas de valores en settings
|
||||||
|
fail_over_list = channeltools.get_channel_json(channel_py)
|
||||||
|
for settings in fail_over_list['settings']: #Se recorren todos los settings
|
||||||
|
if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting
|
||||||
|
fail_over_list = settings['default'] #Carga lista de clones
|
||||||
|
break
|
||||||
|
#fail_over_list = config.get_setting('clonenewpct1_channels_list', channel_py)
|
||||||
fail_over_list = ast.literal_eval(fail_over_list)
|
fail_over_list = ast.literal_eval(fail_over_list)
|
||||||
|
|
||||||
#Recorremos el Array identificando el canal que falla
|
#Recorremos el Array identificando el canal que falla
|
||||||
@@ -733,17 +791,18 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None):
|
|||||||
channel_url_failed = item.url #salvamos la url
|
channel_url_failed = item.url #salvamos la url
|
||||||
if (item.action == 'episodios' or item.action == 'findvideos') and item.contentType not in contentType: #soporta el fail_over de este contenido?
|
if (item.action == 'episodios' or item.action == 'findvideos') and item.contentType not in contentType: #soporta el fail_over de este contenido?
|
||||||
data = ''
|
data = ''
|
||||||
|
logger.error("ERROR 99: " + item.action.upper() + ": Acción no soportada para Fail-Over en canal: " + item.url)
|
||||||
return (item, data) #no soporta el fail_over de este contenido, no podemos hacer nada
|
return (item, data) #no soporta el fail_over de este contenido, no podemos hacer nada
|
||||||
break
|
break
|
||||||
|
|
||||||
if not channel_failed:
|
if not channel_failed:
|
||||||
logger.debug(item)
|
logger.error(item)
|
||||||
return (item, data) #Algo no ha funcionado, no podemos hacer nada
|
return (item, data) #Algo no ha funcionado, no podemos hacer nada
|
||||||
|
|
||||||
#Recorremos el Array identificando canales activos que funcionen, distintos del caído, que soporten el contenido
|
#Recorremos el Array identificando canales activos que funcionen, distintos del caído, que soporten el contenido
|
||||||
for active, channel, channel_host, contentType, action_excluded in fail_over_list:
|
for active, channel, channel_host, contentType, action_excluded in fail_over_list:
|
||||||
data_alt = ''
|
data_alt = ''
|
||||||
if channel == channel_failed or active == '0' or item.action in action_excluded: #es válido el nuevo canal?
|
if channel == channel_failed or active == '0' or item.action in action_excluded or item.extra2 in action_excluded: #es válido el nuevo canal?
|
||||||
continue
|
continue
|
||||||
if (item.action == 'episodios' or item.action == 'findvideos') and item.contentType not in contentType: #soporta el contenido?
|
if (item.action == 'episodios' or item.action == 'findvideos') and item.contentType not in contentType: #soporta el contenido?
|
||||||
continue
|
continue
|
||||||
@@ -782,6 +841,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None):
|
|||||||
data_alt = scrapertools.find_single_match(data_alt, patron2)
|
data_alt = scrapertools.find_single_match(data_alt, patron2)
|
||||||
if not data_alt: #no ha habido suerte, probamos con el siguiente canal
|
if not data_alt: #no ha habido suerte, probamos con el siguiente canal
|
||||||
logger.error("ERROR 02: " + item.action + ": Ha cambiado la estructura de la Web: " + item.url + " / Patron: " + patron)
|
logger.error("ERROR 02: " + item.action + ": Ha cambiado la estructura de la Web: " + item.url + " / Patron: " + patron)
|
||||||
|
data = ''
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
break #por fin !!! Este canal parece que funciona
|
break #por fin !!! Este canal parece que funciona
|
||||||
@@ -790,6 +850,7 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None):
|
|||||||
data = ''
|
data = ''
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
del item.extra2 #Borramos acción temporal excluyente
|
||||||
if not data: #Si no ha logrado encontrar nada, salimos limpiando variables
|
if not data: #Si no ha logrado encontrar nada, salimos limpiando variables
|
||||||
if item.channel == channel_py:
|
if item.channel == channel_py:
|
||||||
if item.channel_alt:
|
if item.channel_alt:
|
||||||
@@ -804,6 +865,8 @@ def fail_over_newpct1(item, patron, patron2=None, timeout=None):
|
|||||||
del item.url_alt
|
del item.url_alt
|
||||||
item.channel_host = channel_host_failed
|
item.channel_host = channel_host_failed
|
||||||
|
|
||||||
|
#logger.debug(item)
|
||||||
|
|
||||||
return (item, data)
|
return (item, data)
|
||||||
|
|
||||||
|
|
||||||
@@ -827,7 +890,13 @@ def redirect_clone_newpct1(item):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
#Array con los datos de los canales alternativos
|
#Array con los datos de los canales alternativos
|
||||||
fail_over_list = config.get_setting('clonenewpct1_channels_list', channel_py)
|
#Cargamos en .json del canal para ver las listas de valores en settings
|
||||||
|
fail_over_list = channeltools.get_channel_json(channel_py)
|
||||||
|
for settings in fail_over_list['settings']: #Se recorren todos los settings
|
||||||
|
if settings['id'] == "clonenewpct1_channels_list": #Encontramos en setting
|
||||||
|
fail_over_list = settings['default'] #Carga lista de clones
|
||||||
|
break
|
||||||
|
#fail_over_list = config.get_setting('clonenewpct1_channels_list', channel_py)
|
||||||
|
|
||||||
channel = "'%s'" % item.channel
|
channel = "'%s'" % item.channel
|
||||||
if channel in fail_over_list:
|
if channel in fail_over_list:
|
||||||
|
|||||||
@@ -280,7 +280,7 @@ def run(item=None):
|
|||||||
canal = scrapertools.find_single_match(traceback.format_exc(), patron)
|
canal = scrapertools.find_single_match(traceback.format_exc(), patron)
|
||||||
|
|
||||||
platformtools.dialog_ok(
|
platformtools.dialog_ok(
|
||||||
config.get_localized_string(70093) + canal,
|
config.get_localized_string(59985) + canal,
|
||||||
config.get_localized_string(60013) %(e))
|
config.get_localized_string(60013) %(e))
|
||||||
except:
|
except:
|
||||||
import traceback
|
import traceback
|
||||||
|
|||||||
@@ -608,6 +608,7 @@ def play_video(item, strm=False, force_direct=False, autoplay=False):
|
|||||||
logger.info()
|
logger.info()
|
||||||
# logger.debug(item.tostring('\n'))
|
# logger.debug(item.tostring('\n'))
|
||||||
logger.debug('item play: %s'%item)
|
logger.debug('item play: %s'%item)
|
||||||
|
xbmc_player = XBMCPlayer()
|
||||||
if item.channel == 'downloads':
|
if item.channel == 'downloads':
|
||||||
logger.info("Reproducir video local: %s [%s]" % (item.title, item.url))
|
logger.info("Reproducir video local: %s [%s]" % (item.title, item.url))
|
||||||
xlistitem = xbmcgui.ListItem(path=item.url)
|
xlistitem = xbmcgui.ListItem(path=item.url)
|
||||||
@@ -674,7 +675,6 @@ def play_video(item, strm=False, force_direct=False, autoplay=False):
|
|||||||
playlist.add(mediaurl, xlistitem)
|
playlist.add(mediaurl, xlistitem)
|
||||||
|
|
||||||
# Reproduce
|
# Reproduce
|
||||||
xbmc_player = XBMCPlayer()
|
|
||||||
xbmc_player.play(playlist, xlistitem)
|
xbmc_player.play(playlist, xlistitem)
|
||||||
else:
|
else:
|
||||||
set_player(item, xlistitem, mediaurl, view, strm)
|
set_player(item, xlistitem, mediaurl, view, strm)
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ class SettingsWindow(xbmcgui.WindowXMLDialog):
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
Los campos 'label', 'default' y 'lvalues' pueden ser un numero precedido de '@'. En cuyo caso se
|
Los campos 'label', 'default', 'enabled' y 'lvalues' pueden ser un numero precedido de '@'. En cuyo caso se
|
||||||
buscara el literal en el archivo string.xml del idioma seleccionado.
|
buscara el literal en el archivo string.xml del idioma seleccionado.
|
||||||
Los campos 'enabled' y 'visible' admiten los comparadores eq(), gt() e it() y su funcionamiento se
|
Los campos 'enabled' y 'visible' admiten los comparadores eq(), gt() e it() y su funcionamiento se
|
||||||
describe en: http://kodi.wiki/view/Add-on_settings#Different_types
|
describe en: http://kodi.wiki/view/Add-on_settings#Different_types
|
||||||
@@ -273,6 +273,9 @@ class SettingsWindow(xbmcgui.WindowXMLDialog):
|
|||||||
if c["type"] == "label":
|
if c["type"] == "label":
|
||||||
control_value = c["control"].getLabel()
|
control_value = c["control"].getLabel()
|
||||||
|
|
||||||
|
if value.startswith('@') and unicode(value[1:]).isnumeric():
|
||||||
|
value = config.get_localized_string(int(value[1:]))
|
||||||
|
|
||||||
# Operaciones lt "menor que" y gt "mayor que", requieren que las comparaciones sean numeros, sino devuelve
|
# Operaciones lt "menor que" y gt "mayor que", requieren que las comparaciones sean numeros, sino devuelve
|
||||||
# False
|
# False
|
||||||
if operator in ["lt", "!lt", "gt", "!gt"]:
|
if operator in ["lt", "!lt", "gt", "!gt"]:
|
||||||
|
|||||||
@@ -235,8 +235,12 @@ def mark_content_as_watched_on_kodi(item, value=1):
|
|||||||
data = get_data(payload)
|
data = get_data(payload)
|
||||||
if 'result' in data and "movies" in data['result']:
|
if 'result' in data and "movies" in data['result']:
|
||||||
|
|
||||||
filename = filetools.basename(item.strm_path)
|
if item.strm_path: #Si Item es de un episodio
|
||||||
head, tail = filetools.split(filetools.split(item.strm_path)[0])
|
filename = filetools.basename(item.strm_path)
|
||||||
|
head, tail = filetools.split(filetools.split(item.strm_path)[0])
|
||||||
|
else: #Si Item es de la Serie
|
||||||
|
filename = filetools.basename(item.path)
|
||||||
|
head, tail = filetools.split(filetools.split(item.path)[0])
|
||||||
path = filetools.join(tail, filename)
|
path = filetools.join(tail, filename)
|
||||||
|
|
||||||
for d in data['result']['movies']:
|
for d in data['result']['movies']:
|
||||||
@@ -258,8 +262,12 @@ def mark_content_as_watched_on_kodi(item, value=1):
|
|||||||
data = get_data(payload)
|
data = get_data(payload)
|
||||||
if 'result' in data and "episodes" in data['result']:
|
if 'result' in data and "episodes" in data['result']:
|
||||||
|
|
||||||
filename = filetools.basename(item.strm_path)
|
if item.strm_path: #Si Item es de un episodio
|
||||||
head, tail = filetools.split(filetools.split(item.strm_path)[0])
|
filename = filetools.basename(item.strm_path)
|
||||||
|
head, tail = filetools.split(filetools.split(item.strm_path)[0])
|
||||||
|
else: #Si Item es de la Serie
|
||||||
|
filename = filetools.basename(item.path)
|
||||||
|
head, tail = filetools.split(filetools.split(item.path)[0])
|
||||||
path = filetools.join(tail, filename)
|
path = filetools.join(tail, filename)
|
||||||
|
|
||||||
for d in data['result']['episodes']:
|
for d in data['result']['episodes']:
|
||||||
|
|||||||
@@ -442,7 +442,7 @@ msgid "An error has occurred in alfa, \nCheck log for more details."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgctxt "#59985"
|
msgctxt "#59985"
|
||||||
msgid "Error in the channel"
|
msgid "Error in the channel "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgctxt "#59986"
|
msgctxt "#59986"
|
||||||
@@ -3302,7 +3302,7 @@ msgid "VOS (Original Subtitled Version)"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgctxt "#70144"
|
msgctxt "#70144"
|
||||||
msgid "VO (Original Version Originale)"
|
msgid "VO (Original Version)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgctxt "#70145"
|
msgctxt "#70145"
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ msgid "An error has occurred in alfa, \nCheck log for more details."
|
|||||||
msgstr "Si è verificato un errore in alfa, \nControlla il log per maggiori dettagli."
|
msgstr "Si è verificato un errore in alfa, \nControlla il log per maggiori dettagli."
|
||||||
|
|
||||||
msgctxt "#59985"
|
msgctxt "#59985"
|
||||||
msgid "Error in the channel"
|
msgid "Error in the channel "
|
||||||
msgstr "Errore nel canale"
|
msgstr "Errore nel canale "
|
||||||
|
|
||||||
msgctxt "#59986"
|
msgctxt "#59986"
|
||||||
msgid "Error loading the server: %s\n"
|
msgid "Error loading the server: %s\n"
|
||||||
@@ -3290,7 +3290,7 @@ msgid "VOS (Original Subtitled Version)"
|
|||||||
msgstr "VOS (Version Original Sottotitolato)"
|
msgstr "VOS (Version Original Sottotitolato)"
|
||||||
|
|
||||||
msgctxt "#70144"
|
msgctxt "#70144"
|
||||||
msgid "VO (Original Version Originale)"
|
msgid "VO (Original Version)"
|
||||||
msgstr "VO (Original)"
|
msgstr "VO (Original)"
|
||||||
|
|
||||||
msgctxt "#70145"
|
msgctxt "#70145"
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ msgid "An error has occurred in alfa, \nCheck log for more details."
|
|||||||
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
||||||
|
|
||||||
msgctxt "#59985"
|
msgctxt "#59985"
|
||||||
msgid "Error in the channel"
|
msgid "Error in the channel "
|
||||||
msgstr "Error en el canal"
|
msgstr "Error en el canal "
|
||||||
|
|
||||||
msgctxt "#59986"
|
msgctxt "#59986"
|
||||||
msgid "Error loading the server: %s\n"
|
msgid "Error loading the server: %s\n"
|
||||||
@@ -3375,7 +3375,7 @@ msgstr "Opciones para Titulos"
|
|||||||
|
|
||||||
msgctxt "#70168"
|
msgctxt "#70168"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generale"
|
msgstr "General"
|
||||||
|
|
||||||
msgctxt "#70169"
|
msgctxt "#70169"
|
||||||
msgid "Servers use"
|
msgid "Servers use"
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ msgid "An error has occurred in alfa, \nCheck log for more details."
|
|||||||
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
||||||
|
|
||||||
msgctxt "#59985"
|
msgctxt "#59985"
|
||||||
msgid "Error in the channel"
|
msgid "Error in the channel "
|
||||||
msgstr "Error en el canal"
|
msgstr "Error en el canal "
|
||||||
|
|
||||||
msgctxt "#59986"
|
msgctxt "#59986"
|
||||||
msgid "Error loading the server: %s\n"
|
msgid "Error loading the server: %s\n"
|
||||||
@@ -3375,7 +3375,7 @@ msgstr "Opciones para Titulos"
|
|||||||
|
|
||||||
msgctxt "#70168"
|
msgctxt "#70168"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generale"
|
msgstr "General"
|
||||||
|
|
||||||
msgctxt "#70169"
|
msgctxt "#70169"
|
||||||
msgid "Servers use"
|
msgid "Servers use"
|
||||||
|
|||||||
@@ -442,8 +442,8 @@ msgid "An error has occurred in alfa, \nCheck log for more details."
|
|||||||
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
msgstr "Se ha producido un error en alfa,\nComprueba el log para ver mas detalles del error."
|
||||||
|
|
||||||
msgctxt "#59985"
|
msgctxt "#59985"
|
||||||
msgid "Error in the channel"
|
msgid "Error in the channel "
|
||||||
msgstr "Error en el canal"
|
msgstr "Error en el canal "
|
||||||
|
|
||||||
msgctxt "#59986"
|
msgctxt "#59986"
|
||||||
msgid "Error loading the server: %s\n"
|
msgid "Error loading the server: %s\n"
|
||||||
@@ -3375,7 +3375,7 @@ msgstr "Opciones para Titulos"
|
|||||||
|
|
||||||
msgctxt "#70168"
|
msgctxt "#70168"
|
||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generale"
|
msgstr "General"
|
||||||
|
|
||||||
msgctxt "#70169"
|
msgctxt "#70169"
|
||||||
msgid "Servers use"
|
msgid "Servers use"
|
||||||
|
|||||||
@@ -1,121 +1,121 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<settings>
|
<settings>
|
||||||
<category label="$ADDON[plugin.video.alfa 70168]">
|
<category label="70168">
|
||||||
<setting id="player_mode" type="enum" values="Direct|SetResolvedUrl|Built-In|Download and Play" label="$ADDON[plugin.video.alfa 30044]" default="0"/>
|
<setting id="player_mode" type="enum" values="Direct|SetResolvedUrl|Built-In|Download and Play" label="30044" default="0"/>
|
||||||
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="$ADDON[plugin.video.alfa 30005]" default="0"/>
|
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="30005" default="0"/>
|
||||||
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="$ADDON[plugin.video.alfa 30010]" default="2"/>
|
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="30010" default="2"/>
|
||||||
<setting id="channel_language" type="labelenum" values="all|cast|lat|ita" label="$ADDON[plugin.video.alfa 30019]" default="all"/>
|
<setting id="channel_language" type="labelenum" values="all|cast|lat|ita" label="30019" default="all"/>
|
||||||
<setting id="trakt_sync" type="bool" label="$ADDON[plugin.video.alfa 70109]" default="false"/>
|
<setting id="trakt_sync" type="bool" label="70109" default="false"/>
|
||||||
<setting id="forceview" type="bool" label="$ADDON[plugin.video.alfa 30043]" default="false"/>
|
<setting id="forceview" type="bool" label="30043" default="false"/>
|
||||||
<setting id="faster_item_serialization" type="bool" label="$ADDON[plugin.video.alfa 30300]" default="false"/>
|
<setting id="faster_item_serialization" type="bool" label="30300" default="false"/>
|
||||||
<setting id="debug" type="bool" label="$ADDON[plugin.video.alfa 30003]" default="false"/>
|
<setting id="debug" type="bool" label="30003" default="false"/>
|
||||||
<setting label="$ADDON[plugin.video.alfa 70169]" type="lsep"/>
|
<setting label="70169" type="lsep"/>
|
||||||
<setting id="resolve_priority" type="enum" label="$ADDON[plugin.video.alfa 70110]" lvalues="70164|70165|70166" default="0"/>
|
<setting id="resolve_priority" type="enum" label="70110" lvalues="70164|70165|70166" default="0"/>
|
||||||
<setting id="resolve_stop" type="bool" label="$ADDON[plugin.video.alfa 70111]" default="true"/>
|
<setting id="resolve_stop" type="bool" label="70111" default="true"/>
|
||||||
<setting id="hidepremium" type="bool" label="$ADDON[plugin.video.alfa 70112]" default="false"/>
|
<setting id="hidepremium" type="bool" label="70112" default="false"/>
|
||||||
<setting type="sep"/>
|
<setting type="sep"/>
|
||||||
<setting label="$ADDON[plugin.video.alfa 60305]" type="lsep"/>
|
<setting label="60305" type="lsep"/>
|
||||||
<setting id="adult_aux_intro_password" type="text" label="$ADDON[plugin.video.alfa 70113]" option="hidden" default=""/>
|
<setting id="adult_aux_intro_password" type="text" label="70113" option="hidden" default=""/>
|
||||||
<setting id="adult_mode" type="enum" lvalues="60602|60616|70114" label="$ADDON[plugin.video.alfa 30002]" enable="!eq(-1,)" default="0"/>
|
<setting id="adult_mode" type="enum" lvalues="60602|60616|70114" label="30002" enable="!eq(-1,)" default="0"/>
|
||||||
<setting id="adult_request_password" type="bool" label="$ADDON[plugin.video.alfa 70115]" enable="!eq(-1,0)+!eq(-2,)" default="true"/>
|
<setting id="adult_request_password" type="bool" label="70115" enable="!eq(-1,0)+!eq(-2,)" default="true"/>
|
||||||
<setting id="adult_aux_new_password1" type="text" label="$ADDON[plugin.video.alfa 70116]" option="hidden" enable="!eq(-3,)" default=""/>
|
<setting id="adult_aux_new_password1" type="text" label="70116" option="hidden" enable="!eq(-3,)" default=""/>
|
||||||
<setting id="adult_aux_new_password2" type="text" label="$ADDON[plugin.video.alfa 70117]" option="hidden" enable="!eq(-1,)" default=""/>
|
<setting id="adult_aux_new_password2" type="text" label="70117" option="hidden" enable="!eq(-1,)" default=""/>
|
||||||
</category>
|
</category>
|
||||||
|
|
||||||
<!-- Path downloads -->
|
<!-- Path downloads -->
|
||||||
<category label="$ADDON[plugin.video.alfa 30501]">
|
<category label="30501">
|
||||||
<setting id="downloadpath" type="folder" label="$ADDON[plugin.video.alfa 30017]" default=""/>
|
<setting id="downloadpath" type="folder" label="30017" default=""/>
|
||||||
<setting id="downloadlistpath" type="folder" label="$ADDON[plugin.video.alfa 30018]" default=""/>
|
<setting id="downloadlistpath" type="folder" label="30018" default=""/>
|
||||||
<setting id="videolibrarypath" type="folder" label="$ADDON[plugin.video.alfa 30067]" default=""/>
|
<setting id="videolibrarypath" type="folder" label="30067" default=""/>
|
||||||
|
|
||||||
<setting type="sep"/>
|
<setting type="sep"/>
|
||||||
<setting label="$ADDON[plugin.video.alfa 30131]" type="lsep"/>
|
<setting label="30131" type="lsep"/>
|
||||||
<setting id="folder_tvshows" type="text" label="$ADDON[plugin.video.alfa 70118]" default="SERIES"/>
|
<setting id="folder_tvshows" type="text" label="70118" default="SERIES"/>
|
||||||
<setting id="folder_movies" type="text" label="$ADDON[plugin.video.alfa 70119]" default="CINE"/>
|
<setting id="folder_movies" type="text" label="70119" default="CINE"/>
|
||||||
<setting id="videolibrary_kodi_flag" type="number" label="" default="0" visible="false"/>
|
<setting id="videolibrary_kodi_flag" type="number" label="" default="0" visible="false"/>
|
||||||
<setting id="videolibrary_kodi" type="bool" label="$ADDON[plugin.video.alfa 70120]" enable="lt(-1,2)+eq(0,false)" default="false"/>
|
<setting id="videolibrary_kodi" type="bool" label="70120" enable="lt(-1,2)+eq(0,false)" default="false"/>
|
||||||
</category>
|
</category>
|
||||||
<category label="$ADDON[plugin.video.alfa 70121]">
|
<category label="70121">
|
||||||
<setting id="start_page" type="bool" label="$ADDON[plugin.video.alfa 70121]" default="false"/>
|
<setting id="start_page" type="bool" label="70121" default="false"/>
|
||||||
<setting id="custom_start" type="bool" label="$ADDON[plugin.video.alfa 70122]" default="false"
|
<setting id="custom_start" type="bool" label="70122" default="false"
|
||||||
visible="eq(-1,True)"/>
|
visible="eq(-1,True)"/>
|
||||||
<setting id="news_start" type="bool" label="$ADDON[plugin.video.alfa 70123]" default="false" visible="eq(-2,True)"
|
<setting id="news_start" type="bool" label="70123" default="false" visible="eq(-2,True)"
|
||||||
enable="eq(-1,False)+eq(-2,True"/>
|
enable="eq(-1,False)+eq(-2,True"/>
|
||||||
<setting id="category" type="labelenum" label="$ADDON[plugin.video.alfa 70124]"
|
<setting id="category" type="labelenum" label="70124"
|
||||||
lvalues="70137|70136|70127|60269|60272|70013|70014|59976|70171"
|
lvalues="70137|70136|70127|60269|60272|70013|70014|59976|70171"
|
||||||
default="$ADDON[plugin.video.alfa 70137]" visible="eq(-3,True)+eq(-1,True)+eq(-2,False)" enable="eq(-3,True)+eq(-1,True)+(-2,false)"/>
|
default="70137" visible="eq(-3,True)+eq(-1,True)+eq(-2,False)" enable="eq(-3,True)+eq(-1,True)+(-2,false)"/>
|
||||||
</category>
|
</category>
|
||||||
<category label="$ADDON[plugin.video.alfa 70126]">
|
<category label="70126">
|
||||||
<setting id="icon_set" type="labelenum" label="$ADDON[plugin.video.alfa 70108]" values="default|dark|angedam" default="default"/>
|
<setting id="icon_set" type="labelenum" label="70108" values="default|dark|angedam" default="default"/>
|
||||||
<setting id="infoplus_set" type="labelenum" label="$ADDON[plugin.video.alfa 70128]" lvalues="70129|70130" default="$ADDON[plugin.video.alfa 70129]"/>
|
<setting id="infoplus_set" type="labelenum" label="70128" lvalues="70129|70130" default="70129"/>
|
||||||
<setting id="video_thumbnail_type" type="enum" label="$ADDON[plugin.video.alfa 70131]" lvalues="70132|70133" default="0"/>
|
<setting id="video_thumbnail_type" type="enum" label="70131" lvalues="70132|70133" default="0"/>
|
||||||
<setting label="$ADDON[plugin.video.alfa 70167]" type="lsep"/>
|
<setting label="70167" type="lsep"/>
|
||||||
<setting id="unify" type="bool" label="$ADDON[plugin.video.alfa 70134]" default="false"/>
|
<setting id="unify" type="bool" label="70134" default="false"/>
|
||||||
<setting id="title_color" type="bool" label="$ADDON[plugin.video.alfa 70135]" default="false" visible="eq(-1,true)"/>
|
<setting id="title_color" type="bool" label="70135" default="false" visible="eq(-1,true)"/>
|
||||||
<setting id="movie_color" type="labelenum" label="$ADDON[plugin.video.alfa 70137]"
|
<setting id="movie_color" type="labelenum" label="70137"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-1,true)+eq(-2,true)"/>
|
default="white" visible="eq(-1,true)+eq(-2,true)"/>
|
||||||
<setting id="tvshow_color" type="labelenum" label="$ADDON[plugin.video.alfa 70136]"
|
<setting id="tvshow_color" type="labelenum" label="70136"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-2,true)+eq(-3,true)"/>
|
default="white" visible="eq(-2,true)+eq(-3,true)"/>
|
||||||
<setting id="year_color" type="labelenum" label="$ADDON[plugin.video.alfa 60232]"
|
<setting id="year_color" type="labelenum" label="60232"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-3,true)+eq(-4,true)"/>
|
default="white" visible="eq(-3,true)+eq(-4,true)"/>
|
||||||
<setting id="rating_1_color" type="labelenum" label="$ADDON[plugin.video.alfa 70138]"
|
<setting id="rating_1_color" type="labelenum" label="70138"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-4,true)+eq(-5,true)"/>
|
default="white" visible="eq(-4,true)+eq(-5,true)"/>
|
||||||
<setting id="rating_2_color" type="labelenum" label="$ADDON[plugin.video.alfa 70139]"
|
<setting id="rating_2_color" type="labelenum" label="70139"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-5,true)+eq(-6,true)"/>
|
default="white" visible="eq(-5,true)+eq(-6,true)"/>
|
||||||
<setting id="rating_3_color" type="labelenum" label="$ADDON[plugin.video.alfa 70140]"
|
<setting id="rating_3_color" type="labelenum" label="70140"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-6,true)+eq(-7,true)"/>
|
default="white" visible="eq(-6,true)+eq(-7,true)"/>
|
||||||
<setting id="quality_color" type="labelenum" label="$ADDON[plugin.video.alfa 70141]"
|
<setting id="quality_color" type="labelenum" label="70141"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-7,true)+eq(-8,true)"/>
|
default="white" visible="eq(-7,true)+eq(-8,true)"/>
|
||||||
<setting id="cast_color" type="labelenum" label="$ADDON[plugin.video.alfa 59980]"
|
<setting id="cast_color" type="labelenum" label="59980"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-8,true)+eq(-9,true)"/>
|
default="white" visible="eq(-8,true)+eq(-9,true)"/>
|
||||||
<setting id="lat_color" type="labelenum" label="$ADDON[plugin.video.alfa 59981]"
|
<setting id="lat_color" type="labelenum" label="59981"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-9,true)+eq(-10,true)"/>
|
default="white" visible="eq(-9,true)+eq(-10,true)"/>
|
||||||
<setting id="vose_color" type="labelenum" label="$ADDON[plugin.video.alfa 701402]"
|
<setting id="vose_color" type="labelenum" label="70142"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-10,true)+eq(-11,true)"/>
|
default="white" visible="eq(-10,true)+eq(-11,true)"/>
|
||||||
<setting id="vos_color" type="labelenum" label="$ADDON[plugin.video.alfa 70143]"
|
<setting id="vos_color" type="labelenum" label="70143"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-11,true)+eq(-12,true)"/>
|
default="white" visible="eq(-11,true)+eq(-12,true)"/>
|
||||||
<setting id="vo_color" type="labelenum" label="$ADDON[plugin.video.alfa 70144]"
|
<setting id="vo_color" type="labelenum" label="70144"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-12,true)+eq(-13,true)"/>
|
default="white" visible="eq(-12,true)+eq(-13,true)"/>
|
||||||
<setting id="server_color" type="labelenum" label="$ADDON[plugin.video.alfa 70145]"
|
<setting id="server_color" type="labelenum" label="70145"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-13,true)+eq(-14,true)"/>
|
default="white" visible="eq(-13,true)+eq(-14,true)"/>
|
||||||
<setting id="library_color" type="labelenum" label="$ADDON[plugin.video.alfa 70146]"
|
<setting id="library_color" type="labelenum" label="70146"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-14,true)+eq(-15,true)"/>
|
default="white" visible="eq(-14,true)+eq(-15,true)"/>
|
||||||
<setting id="update_color" type="labelenum" label="$ADDON[plugin.video.alfa 70147]"
|
<setting id="update_color" type="labelenum" label="70147"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-15,true)+eq(-16,true)"/>
|
default="white" visible="eq(-15,true)+eq(-16,true)"/>
|
||||||
<setting id="no_update_color" type="labelenum" label="$ADDON[plugin.video.alfa 70148]"
|
<setting id="no_update_color" type="labelenum" label="70148"
|
||||||
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
|
||||||
default="white" visible="eq(-16,true)+eq(-17,true)"/>
|
default="white" visible="eq(-16,true)+eq(-17,true)"/>
|
||||||
</category>
|
</category>
|
||||||
<category label="$ADDON[plugin.video.alfa 70149]">
|
<category label="70149">
|
||||||
<setting label="$ADDON[plugin.video.alfa 70150]" type="lsep"/>
|
<setting label="70150" type="lsep"/>
|
||||||
<setting id="infoplus" type="bool" label="$ADDON[plugin.video.alfa 70151]" default="true"/>
|
<setting id="infoplus" type="bool" label="70151" default="true"/>
|
||||||
<setting id="extended_info" type="bool" label="$ADDON[plugin.video.alfa 70152]" default="false"/>
|
<setting id="extended_info" type="bool" label="70152" default="false"/>
|
||||||
|
|
||||||
<setting label="$ADDON[plugin.video.alfa 70153]" type="lsep"/>
|
<setting label="70153" type="lsep"/>
|
||||||
<setting id="shortcut_key" type="action" label="30999" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAia2V5bWFwIg0KfQ==)" />
|
<setting id="shortcut_key" type="action" label="30999" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAia2V5bWFwIg0KfQ==)" />
|
||||||
|
|
||||||
<setting type="sep"/>
|
<setting type="sep"/>
|
||||||
<setting label="$ADDON[plugin.video.alfa 70154]" type="lsep"/>
|
<setting label="70154" type="lsep"/>
|
||||||
<setting id="tmdb_threads" type="labelenum" values="5|10|15|20|25|30" label="$ADDON[plugin.video.alfa 70155]" default="20"/>
|
<setting id="tmdb_threads" type="labelenum" values="5|10|15|20|25|30" label="70155" default="20"/>
|
||||||
<setting id="tmdb_plus_info" type="bool" label="$ADDON[plugin.video.alfa 70156]" default="false"/>
|
<setting id="tmdb_plus_info" type="bool" label="70156" default="false"/>
|
||||||
<setting id="tmdb_cache" type="bool" label="$ADDON[plugin.video.alfa 70157]" default="true"/>
|
<setting id="tmdb_cache" type="bool" label="70157" default="true"/>
|
||||||
<setting id="tmdb_cache_expire" type="enum" lvalues="70158|70159|70160|70161|70170" label="$ADDON[plugin.video.alfa 70162]" enable="eq(-1,true)" default="4"/>
|
<setting id="tmdb_cache_expire" type="enum" lvalues="70158|70159|70160|70161|70170" label="70162" enable="eq(-1,true)" default="4"/>
|
||||||
<setting id="tmdb_clean_db_cache" type="action" label="$ADDON[plugin.video.alfa 70163]" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAic2NyaXB0Ig0KfQ==)" />
|
<setting id="tmdb_clean_db_cache" type="action" label="70163" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAic2NyaXB0Ig0KfQ==)" />
|
||||||
|
|
||||||
<setting type="sep"/>
|
<setting type="sep"/>
|
||||||
<setting label="Para evitar esperar demasiado cuando un servidor no responde:" type="lsep"/>
|
<setting label="Para evitar esperar demasiado cuando un servidor no responde:" type="lsep"/>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
"url": "https://\\1"
|
"url": "https://\\1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pattern": "(mega.nz/\\#\\![A-Za-z0-9\\-\\_]+\\![A-Za-z0-9\\-\\_]+)",
|
"pattern": "(mega.nz/(?:embed|)\\#\\![A-Za-z0-9\\-\\_]+\\![A-Za-z0-9\\-\\_]+)",
|
||||||
"url": "https://\\1"
|
"url": "https://\\1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
|||||||
video_urls = []
|
video_urls = []
|
||||||
from megaserver import Client
|
from megaserver import Client
|
||||||
|
|
||||||
|
page_url = page_url.replace('/embed#!', '/#!')
|
||||||
|
|
||||||
c = Client(url=page_url, is_playing_fnc=platformtools.is_playing)
|
c = Client(url=page_url, is_playing_fnc=platformtools.is_playing)
|
||||||
|
|
||||||
files = c.get_files()
|
files = c.get_files()
|
||||||
|
|||||||
Reference in New Issue
Block a user