@@ -171,6 +171,8 @@ def findvideos(item):
|
||||
data1 = httptools.downloadpage(host + "wp-admin/admin-ajax.php", headers=headers, post=post).data
|
||||
url1 = scrapertools.find_single_match(data1, "src='([^']+)")
|
||||
url1 = devuelve_enlace(url1)
|
||||
if "drive.google" in url1:
|
||||
url1 = url1.replace("view","preview")
|
||||
if url1:
|
||||
itemlist.append(item.clone(title="Ver en %s",url=url1, action="play"))
|
||||
tmdb.set_infoLabels(itemlist)
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"id": "special",
|
||||
"name": "<Terror 2018>",
|
||||
"active": true,
|
||||
"adult": false,
|
||||
"language": [],
|
||||
"thumbnail": "https://i.postimg.cc/FR2nygS0/g4567.png",
|
||||
"banner": "",
|
||||
"categories": [
|
||||
"movie"
|
||||
]
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# -*- Channel Halloween -*-
|
||||
# -*- Created for Alfa-addon -*-
|
||||
# -*- By the Alfa Develop Group -*-
|
||||
|
||||
import re
|
||||
|
||||
from channels import autoplay
|
||||
from channels import filtertools
|
||||
from core import httptools
|
||||
from core import scrapertools
|
||||
from core import servertools
|
||||
from core import jsontools
|
||||
from core import tmdb
|
||||
from core.item import Item
|
||||
from platformcode import config, logger
|
||||
from channelselector import get_thumb
|
||||
|
||||
host = 'https://www.imdb.com/list/ls027655523/?sort=list_order,asc&st_dt=&mode=detail&page='
|
||||
|
||||
|
||||
def get_source(url):
|
||||
logger.info()
|
||||
data = httptools.downloadpage(url).data
|
||||
data = re.sub(r'\n|\r|\t| |<br>|\s{2,}', "", data)
|
||||
return data
|
||||
|
||||
def mainlist(item):
|
||||
logger.info()
|
||||
item.url = host
|
||||
item.first = 60
|
||||
item.last = 80
|
||||
item.page = 1
|
||||
return list_all(item)
|
||||
|
||||
|
||||
def list_all(item):
|
||||
logger.info()
|
||||
from core import jsontools
|
||||
itemlist = []
|
||||
|
||||
data = get_source('%s%s' % (host, item.page))
|
||||
data = scrapertools.find_single_match(data, '"itemListElement":([^\]]+)\]')
|
||||
data = data + ']'
|
||||
#logger.debug(data)
|
||||
movie_list = eval(data)
|
||||
for movie in movie_list[item.first:item.last]:
|
||||
|
||||
IMDBNumber = movie['url'].replace('title','').replace('/','')
|
||||
|
||||
|
||||
new_item = Item(channel='search', contentType='movie', action='do_search',
|
||||
infoLabels={'imdb_id': IMDBNumber})
|
||||
|
||||
#new_item.infoLabels = tmdb.find_and_set_infoLabels(new_item)
|
||||
itemlist.append(new_item)
|
||||
logger.debug('id %s' % IMDBNumber)
|
||||
#logger.debug(new_item)
|
||||
|
||||
|
||||
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||
|
||||
for movie in itemlist:
|
||||
movie.title = movie.infoLabels['title']
|
||||
movie.wanted = movie.title
|
||||
|
||||
if item.last + 20 < len(movie_list):
|
||||
first = item.last
|
||||
last = item.last + 20
|
||||
page = item.page
|
||||
else:
|
||||
first = 0
|
||||
last = 20
|
||||
page = item.page + 1
|
||||
|
||||
itemlist.append(Item(channel=item.channel, title='Siguiente >>', action='list_all',
|
||||
last=last, first=first, page=page))
|
||||
return itemlist
|
||||
@@ -35,7 +35,7 @@ langi = langs[config.get_setting('imdb', "tvmoviedb")]
|
||||
adult_mal = config.get_setting('adult_mal', "tvmoviedb")
|
||||
mal_ck = "MzE1MDQ2cGQ5N2llYTY4Z2xwbGVzZjFzbTY="
|
||||
images_predef = "https://raw.githubusercontent.com/master-1970/resources/master/images/genres/"
|
||||
default_fan = filetools.join(config.get_runtime_path(), "fanart.jpg")
|
||||
default_fan = filetools.join(config.get_runtime_path(), "fanart1.jpg")
|
||||
|
||||
|
||||
def mainlist(item):
|
||||
|
||||
@@ -99,7 +99,7 @@ load_cookies()
|
||||
|
||||
|
||||
def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=True, cookies=True, replace_headers=False,
|
||||
add_referer=False, only_headers=False, bypass_cloudflare=True, count_retries=0, random_headers=False):
|
||||
add_referer=False, only_headers=False, bypass_cloudflare=True, count_retries=0, random_headers=False, ignore_response_code=False):
|
||||
"""
|
||||
Abre una url y retorna los datos obtenidos
|
||||
|
||||
@@ -124,6 +124,8 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr
|
||||
@type only_headers: bool
|
||||
@param random_headers: Si True, utiliza el método de seleccionar headers aleatorios.
|
||||
@type random_headers: bool
|
||||
@param ignore_response_code: Si es True, ignora el método para WebErrorException para error como el error 404 en veseriesonline, pero es un data funcional
|
||||
@type ignore_response_code: bool
|
||||
@return: Resultado de la petición
|
||||
@rtype: HTTPResponse
|
||||
|
||||
@@ -256,7 +258,7 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr
|
||||
# error 4xx o 5xx se lanza excepcion (menos para servidores)
|
||||
# response["code"] = 400 # linea de código para probar
|
||||
is_channel = str(is_channel).replace("/servers/","\\servers\\") # Para sistemas operativos diferente a Windows la ruta cambia
|
||||
if type(response["code"]) == int and "\\servers\\" not in str(is_channel):
|
||||
if type(response["code"]) == int and "\\servers\\" not in str(is_channel) and not ignore_response_code:
|
||||
if response["code"] > 399 and (server_cloudflare == "cloudflare" and response["code"] != 503):
|
||||
raise WebErrorException(urlparse.urlparse(url)[1])
|
||||
|
||||
|
||||
@@ -210,7 +210,7 @@ def render_items(itemlist, parent_item):
|
||||
if item.fanart:
|
||||
fanart = item.fanart
|
||||
else:
|
||||
fanart = os.path.join(config.get_runtime_path(), "fanart.jpg")
|
||||
fanart = os.path.join(config.get_runtime_path(), "fanart1.jpg")
|
||||
|
||||
# Creamos el listitem
|
||||
#listitem = xbmcgui.ListItem(item.title)
|
||||
|
||||
@@ -9,26 +9,21 @@ from platformcode import logger
|
||||
def test_video_exists(page_url):
|
||||
logger.info("(page_url='%s')" % page_url)
|
||||
data = httptools.downloadpage(page_url).data
|
||||
|
||||
if "Invalid or Deleted File" in data:
|
||||
return False, "[Mediafire] El archivo no existe o ha sido borrado"
|
||||
elif "File Removed for Violation" in data:
|
||||
return False, "[Mediafire] Archivo eliminado por infracción"
|
||||
|
||||
return True, ""
|
||||
|
||||
|
||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||
logger.info("(page_url='%s')" % page_url)
|
||||
video_urls = []
|
||||
|
||||
data = httptools.downloadpage(page_url).data
|
||||
patron = 'kNO \= "([^"]+)"'
|
||||
patron = "DownloadButtonAd-startDownload gbtnSecondary.*?href='([^']+)'"
|
||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||
if len(matches) > 0:
|
||||
video_urls.append([matches[0][-4:] + " [mediafire]", matches[0]])
|
||||
|
||||
for video_url in video_urls:
|
||||
logger.info("%s - %s" % (video_url[0], video_url[1]))
|
||||
|
||||
return video_urls
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
],
|
||||
"patterns": [
|
||||
{
|
||||
"pattern": "mp4upload.com/embed-([A-Za-z0-9]+)",
|
||||
"pattern": "mp4upload.com(?:/embed-|/)([A-Za-z0-9]+)",
|
||||
"url": "http://www.mp4upload.com/embed-\\1.html"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"ignore_urls": [],
|
||||
"patterns": [
|
||||
{
|
||||
"pattern": "(vev.io/embed/[A-z0-9]+)",
|
||||
"url": "https://\\1"
|
||||
"pattern": "vev.io/(?:embed/|)([A-z0-9]+)",
|
||||
"url": "https://vev.io/embed/\\1"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user