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

View File

@@ -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:

View File

@@ -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>

View File

@@ -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

View File

@@ -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

View File

@@ -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