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()):
|
||||
os.mkdir(get_data_path())
|
||||
# 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()
|
||||
|
||||
# modo adulto:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?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>
|
||||
<import addon="xbmc.python" version="2.1.0"/>
|
||||
<import addon="script.module.libtorrent" optional="true"/>
|
||||
@@ -19,12 +19,16 @@
|
||||
</assets>
|
||||
<news>[B]Estos son los cambios para esta versión:[/B]
|
||||
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
|
||||
[I]- animeflv
|
||||
- descargasmix
|
||||
- newpct1
|
||||
- openload
|
||||
[I]- peliculasrey
|
||||
- pelis24
|
||||
- peliscity
|
||||
- peliscon
|
||||
- pelisgratis
|
||||
- pelispad
|
||||
- pelismagnet
|
||||
- rapidvideo
|
||||
- streammango
|
||||
- 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>
|
||||
<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>
|
||||
|
||||
@@ -6,6 +6,7 @@ import urllib
|
||||
from core import httptools
|
||||
from core import jsontools
|
||||
from core import scrapertools
|
||||
from core import servertools
|
||||
from core.item import Item
|
||||
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'}
|
||||
|
||||
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"),
|
||||
show=i.get("nom")))
|
||||
|
||||
@@ -220,9 +221,9 @@ def episodios(item):
|
||||
title = "%s %s [%s]" % (key, value["title"], "][".join(list_no_duplicate))
|
||||
|
||||
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,
|
||||
contentTitle=item.contentTitle, contentSeason=value["season"],
|
||||
contentSerieName=item.contentTitle, contentSeason=value["season"],
|
||||
contentEpisodeNumber=value["episode"]))
|
||||
|
||||
# order list
|
||||
@@ -259,10 +260,10 @@ def pelis(item):
|
||||
|
||||
if 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:
|
||||
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:
|
||||
continue
|
||||
@@ -283,7 +284,7 @@ def pelis(item):
|
||||
|
||||
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent",
|
||||
contentType="movie", thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels,
|
||||
contentTitle=i.get("nom")))
|
||||
contentTitle=i.get("nom"), quality=calidad))
|
||||
|
||||
from core import tmdb
|
||||
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
||||
@@ -327,7 +328,9 @@ def findvideos(item):
|
||||
data = item.data
|
||||
|
||||
for index, url in enumerate(data["url"]):
|
||||
title = "Enlace torrent [%s]" % data["quality"][index]
|
||||
itemlist.append(item.clone(action="play", title=title, url=url))
|
||||
quality = data["quality"][index]
|
||||
title = "Enlace torrent [%s]" % quality
|
||||
itemlist.append(item.clone(action="play", title=title, url=url, quality=quality))
|
||||
servertools.get_servers_itemlist(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=""):
|
||||
logger.info("url=" + page_url)
|
||||
video_urls = []
|
||||
|
||||
data = httptools.downloadpage(page_url).data
|
||||
urls = scrapertools.find_multiple_matches(data, '"file":"([^"]+)","label":"[^"]*","res":"([^"]+)"')
|
||||
for mediaurl, res in urls:
|
||||
ext = scrapertools.get_filename_from_url(mediaurl)[-4:]
|
||||
video_urls.append(['%s %sp [rapidvideo]' % (ext, res), mediaurl.replace("\\", "")])
|
||||
patron = 'https://www.rapidvideo.com/e/[^"]+'
|
||||
match = scrapertools.find_multiple_matches(data, patron)
|
||||
for url1 in match:
|
||||
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
|
||||
|
||||
@@ -21,14 +21,54 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
data = httptools.downloadpage(page_url).data
|
||||
|
||||
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"):
|
||||
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()
|
||||
for video_url in video_urls:
|
||||
logger.info("%s - %s" % (video_url[0], video_url[1]))
|
||||
|
||||
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