Merge remote-tracking branch 'alfa-addon/master' into channels

This commit is contained in:
Unknown
2017-09-12 14:27:11 -03:00
9 changed files with 73 additions and 23 deletions
+1 -1
View File
@@ -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:
+10 -6
View File
@@ -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>
+11 -8
View File
@@ -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
+8 -5
View File
@@ -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
+43 -3
View File
@@ -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