Merge remote-tracking branch 'alfa-addon/master' into channels
This commit is contained in:
@@ -369,7 +369,7 @@ configfilepath = os.path.join(get_data_path(), "settings.xml")
|
|||||||
if not os.path.exists(get_data_path()):
|
if not os.path.exists(get_data_path()):
|
||||||
os.mkdir(get_data_path())
|
os.mkdir(get_data_path())
|
||||||
# Literales
|
# Literales
|
||||||
TRANSLATION_FILE_PATH = os.path.join(get_runtime_path(), "resources", "language", "resource.language.es_es", "strings.po")
|
TRANSLATION_FILE_PATH = os.path.join(get_runtime_path(), "resources", "language", "Spanish", "strings.po")
|
||||||
load_settings()
|
load_settings()
|
||||||
|
|
||||||
# modo adulto:
|
# modo adulto:
|
||||||
|
|||||||
@@ -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.0.0" provider-name="Alfa Addon">
|
<addon id="plugin.video.alfa" name="Alfa" version="2.0.1" 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,12 +19,16 @@
|
|||||||
</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]
|
||||||
[I]- animeflv
|
[I]- peliculasrey
|
||||||
- descargasmix
|
- pelis24
|
||||||
- newpct1
|
- peliscity
|
||||||
- openload
|
- peliscon
|
||||||
|
- pelisgratis
|
||||||
|
- pelispad
|
||||||
|
- pelismagnet
|
||||||
|
- rapidvideo
|
||||||
|
- streammango
|
||||||
- fix internos[/I]
|
- fix internos[/I]
|
||||||
[COLOR green]Gracias a [COLOR yellow]msdos[/COLOR] y [COLOR yellow]danielr460[/COLOR] por su colaboración en esta versión[/COLOR]
|
|
||||||
</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>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import urllib
|
|||||||
from core import httptools
|
from core import httptools
|
||||||
from core import jsontools
|
from core import jsontools
|
||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
|
from core import servertools
|
||||||
from core.item import Item
|
from core.item import Item
|
||||||
from platformcode import config, logger
|
from platformcode import config, logger
|
||||||
|
|
||||||
@@ -144,7 +145,7 @@ def series(item):
|
|||||||
|
|
||||||
infoLabels = {'plot': plot, 'year': i.get("year"), 'tmdb_id': i.get("id"), 'mediatype': 'tvshow'}
|
infoLabels = {'plot': plot, 'year': i.get("year"), 'tmdb_id': i.get("id"), 'mediatype': 'tvshow'}
|
||||||
|
|
||||||
itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url, server="torrent",
|
itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url,
|
||||||
thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels, contentTitle=i.get("nom"),
|
thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels, contentTitle=i.get("nom"),
|
||||||
show=i.get("nom")))
|
show=i.get("nom")))
|
||||||
|
|
||||||
@@ -220,9 +221,9 @@ def episodios(item):
|
|||||||
title = "%s %s [%s]" % (key, value["title"], "][".join(list_no_duplicate))
|
title = "%s %s [%s]" % (key, value["title"], "][".join(list_no_duplicate))
|
||||||
|
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent",
|
Item(channel=item.channel, action="findvideos", title=title, url=url,
|
||||||
thumbnail=item.thumbnail, fanart=item.fanart, show=item.show, data=value,
|
thumbnail=item.thumbnail, fanart=item.fanart, show=item.show, data=value,
|
||||||
contentTitle=item.contentTitle, contentSeason=value["season"],
|
contentSerieName=item.contentTitle, contentSeason=value["season"],
|
||||||
contentEpisodeNumber=value["episode"]))
|
contentEpisodeNumber=value["episode"]))
|
||||||
|
|
||||||
# order list
|
# order list
|
||||||
@@ -259,10 +260,10 @@ def pelis(item):
|
|||||||
|
|
||||||
if i.get("magnets", {}).get("M1080", {}).get("magnet", ""):
|
if i.get("magnets", {}).get("M1080", {}).get("magnet", ""):
|
||||||
url = i.get("magnets", {}).get("M1080", {}).get("magnet", "")
|
url = i.get("magnets", {}).get("M1080", {}).get("magnet", "")
|
||||||
calidad = "[%s]" % i.get("magnets", {}).get("M1080", {}).get("quality", "")
|
calidad = "%s" % i.get("magnets", {}).get("M1080", {}).get("quality", "")
|
||||||
else:
|
else:
|
||||||
url = i.get("magnets", {}).get("M720", {}).get("magnet", "")
|
url = i.get("magnets", {}).get("M720", {}).get("magnet", "")
|
||||||
calidad = "[%s]" % (i.get("magnets", {}).get("M720", {}).get("quality", ""))
|
calidad = "%s" % (i.get("magnets", {}).get("M720", {}).get("quality", ""))
|
||||||
|
|
||||||
if not url:
|
if not url:
|
||||||
continue
|
continue
|
||||||
@@ -283,7 +284,7 @@ def pelis(item):
|
|||||||
|
|
||||||
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent",
|
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent",
|
||||||
contentType="movie", thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels,
|
contentType="movie", thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels,
|
||||||
contentTitle=i.get("nom")))
|
contentTitle=i.get("nom"), quality=calidad))
|
||||||
|
|
||||||
from core import tmdb
|
from core import tmdb
|
||||||
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
||||||
@@ -327,7 +328,9 @@ def findvideos(item):
|
|||||||
data = item.data
|
data = item.data
|
||||||
|
|
||||||
for index, url in enumerate(data["url"]):
|
for index, url in enumerate(data["url"]):
|
||||||
title = "Enlace torrent [%s]" % data["quality"][index]
|
quality = data["quality"][index]
|
||||||
itemlist.append(item.clone(action="play", title=title, url=url))
|
title = "Enlace torrent [%s]" % quality
|
||||||
|
itemlist.append(item.clone(action="play", title=title, url=url, quality=quality))
|
||||||
|
servertools.get_servers_itemlist(itemlist)
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -30,11 +30,14 @@ def test_video_exists(page_url):
|
|||||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||||
logger.info("url=" + page_url)
|
logger.info("url=" + page_url)
|
||||||
video_urls = []
|
video_urls = []
|
||||||
|
|
||||||
data = httptools.downloadpage(page_url).data
|
data = httptools.downloadpage(page_url).data
|
||||||
urls = scrapertools.find_multiple_matches(data, '"file":"([^"]+)","label":"[^"]*","res":"([^"]+)"')
|
patron = 'https://www.rapidvideo.com/e/[^"]+'
|
||||||
for mediaurl, res in urls:
|
match = scrapertools.find_multiple_matches(data, patron)
|
||||||
ext = scrapertools.get_filename_from_url(mediaurl)[-4:]
|
for url1 in match:
|
||||||
video_urls.append(['%s %sp [rapidvideo]' % (ext, res), mediaurl.replace("\\", "")])
|
res = scrapertools.find_single_match(url1, '=(\w+)')
|
||||||
|
data = httptools.downloadpage(url1).data
|
||||||
|
url = scrapertools.find_single_match(data, 'source src="([^"]+)')
|
||||||
|
ext = scrapertools.get_filename_from_url(url)[-4:]
|
||||||
|
video_urls.append(['%s %s [rapidvideo]' % (ext, res), url])
|
||||||
|
|
||||||
return video_urls
|
return video_urls
|
||||||
|
|||||||
@@ -21,14 +21,54 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
|||||||
data = httptools.downloadpage(page_url).data
|
data = httptools.downloadpage(page_url).data
|
||||||
|
|
||||||
video_urls = []
|
video_urls = []
|
||||||
matches = scrapertools.find_multiple_matches(data, 'type:"video/([^"]+)",src:"([^"]+)",height:(\d+)')
|
|
||||||
for ext, media_url, calidad in matches:
|
matches = scrapertools.find_multiple_matches(data, "type:\"video/([^\"]+)\",src:d\('([^']+)',(.*?)\).+?height:(\d+)")
|
||||||
|
|
||||||
|
for ext, encoded, code, quality in matches:
|
||||||
|
|
||||||
|
media_url = decode(encoded, int(code))
|
||||||
|
|
||||||
if not media_url.startswith("http"):
|
if not media_url.startswith("http"):
|
||||||
media_url = "http:" + media_url
|
media_url = "http:" + media_url
|
||||||
video_urls.append([".%s %sp [streamango]" % (ext, calidad), media_url])
|
video_urls.append([".%s %sp [streamango]" % (ext, quality), media_url])
|
||||||
|
|
||||||
video_urls.reverse()
|
video_urls.reverse()
|
||||||
for video_url in video_urls:
|
for video_url in video_urls:
|
||||||
logger.info("%s - %s" % (video_url[0], video_url[1]))
|
logger.info("%s - %s" % (video_url[0], video_url[1]))
|
||||||
|
|
||||||
return video_urls
|
return video_urls
|
||||||
|
|
||||||
|
|
||||||
|
def decode(encoded, code):
|
||||||
|
logger.info("encoded '%s', code '%s'" % (encoded, code))
|
||||||
|
|
||||||
|
_0x59b81a = ""
|
||||||
|
k = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
|
||||||
|
k = k[::-1]
|
||||||
|
|
||||||
|
count = 0
|
||||||
|
|
||||||
|
for index in range(0, len(encoded) - 1):
|
||||||
|
while count <= len(encoded) - 1:
|
||||||
|
_0x4a2f3a = k.index(encoded[count])
|
||||||
|
count += 1
|
||||||
|
_0x29d5bf = k.index(encoded[count])
|
||||||
|
count += 1
|
||||||
|
_0x3b6833 = k.index(encoded[count])
|
||||||
|
count += 1
|
||||||
|
_0x426d70 = k.index(encoded[count])
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
_0x2e4782 = ((_0x4a2f3a << 2) | (_0x29d5bf >> 4))
|
||||||
|
_0x2c0540 = (((_0x29d5bf & 15) << 4) | (_0x3b6833 >> 2))
|
||||||
|
_0x5a46ef = ((_0x3b6833 & 3) << 6) | _0x426d70
|
||||||
|
_0x2e4782 = _0x2e4782 ^ code
|
||||||
|
|
||||||
|
_0x59b81a = str(_0x59b81a) + chr(_0x2e4782)
|
||||||
|
|
||||||
|
if _0x3b6833 != 64:
|
||||||
|
_0x59b81a = str(_0x59b81a) + chr(_0x2c0540)
|
||||||
|
if _0x3b6833 != 64:
|
||||||
|
_0x59b81a = str(_0x59b81a) + chr(_0x5a46ef)
|
||||||
|
|
||||||
|
return _0x59b81a
|
||||||
|
|||||||
Reference in New Issue
Block a user