fix streamtape e polpotv

This commit is contained in:
marco
2020-10-19 17:00:40 +02:00
parent 81dd318e3d
commit 58c19eb210
2 changed files with 41 additions and 32 deletions
+18 -20
View File
@@ -7,15 +7,13 @@
from core import support, jsontools from core import support, jsontools
from core.item import Item from core.item import Item
from platformcode import config from platformcode import config
import json, datetime import datetime
host = config.get_channel_url() host = config.get_channel_url()
headers = [['Accept', 'application/ld+json']] headers = [['Accept', 'application/ld+json']]
@support.menu @support.menu
def mainlist(item): def mainlist(item):
# menu = [ # menu = [
@@ -57,8 +55,9 @@ def peliculas(item):
item.contentType='movie' item.contentType='movie'
else: else:
item.contentType='tvshow' item.contentType='tvshow'
itemlist.extend(get_itemlist_element(element, item)) itemlist.append(get_itemlist_element(element, item))
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
try: try:
if support.inspect.stack()[1][3] not in ['newest']: if support.inspect.stack()[1][3] not in ['newest']:
support.nextPage(itemlist, item, next_page=json_object['hydra:view']['hydra:next']) support.nextPage(itemlist, item, next_page=json_object['hydra:view']['hydra:next'])
@@ -106,13 +105,14 @@ def search(item, texto):
json_object = jsontools.load(data) json_object = jsontools.load(data)
for movie in json_object['hydra:member']: for movie in json_object['hydra:member']:
item.contentType='movie' item.contentType='movie'
itemlist.extend(get_itemlist_element(movie,item)) itemlist.append(get_itemlist_element(movie,item))
item.url = host + "/api/shows?originalTitle="+texto+"&translations.name=" +texto item.url = host + "/api/shows?originalTitle="+texto+"&translations.name=" +texto
data = support.match(item.url, headers=headers).data data = support.match(item.url, headers=headers).data
json_object = jsontools.load(data) json_object = jsontools.load(data)
for tvshow in json_object['hydra:member']: for tvshow in json_object['hydra:member']:
item.contentType='tvshow' item.contentType='tvshow'
itemlist.extend(get_itemlist_element(tvshow,item)) itemlist.append(get_itemlist_element(tvshow,item))
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
return itemlist return itemlist
# Continua la ricerca in caso di errore # Continua la ricerca in caso di errore
except: except:
@@ -121,6 +121,7 @@ def search(item, texto):
support.logger.error("%s" % line) support.logger.error("%s" % line)
return [] return []
def search_movie_by_genre(item): def search_movie_by_genre(item):
support.info() support.info()
itemlist = [] itemlist = []
@@ -134,6 +135,7 @@ def search_movie_by_genre(item):
url="%s/api/movies?genres.id=%s" %(host,genre['id']))) url="%s/api/movies?genres.id=%s" %(host,genre['id'])))
return support.thumb(itemlist, True) return support.thumb(itemlist, True)
def search_movie_by_year(item): def search_movie_by_year(item):
support.info() support.info()
now = datetime.datetime.now() now = datetime.datetime.now()
@@ -149,6 +151,7 @@ def search_movie_by_year(item):
action="peliculas")) action="peliculas"))
return itemlist return itemlist
def findvideos(item): def findvideos(item):
support.info() support.info()
itemlist = [] itemlist = []
@@ -170,9 +173,9 @@ def findvideos(item):
pass pass
return support.server(item, itemlist=itemlist) return support.server(item, itemlist=itemlist)
def get_itemlist_element(element,item): def get_itemlist_element(element,item):
support.info() support.info()
itemlist=[]
contentSerieName = '' contentSerieName = ''
contentTitle ='' contentTitle =''
try: try:
@@ -189,13 +192,13 @@ def get_itemlist_element(element,item):
except: except:
scrapedplot = "" scrapedplot = ""
try: try:
scrapedthumbnail="http://"+element['posterPath'] scrapedthumbnail="https:"+element['bestPosters'].values()[0]
except: except:
scrapedthumbnail="" scrapedthumbnail=""
try: # try:
scrapedfanart="http://"+element['backdropPath'] # scrapedfanart="http:"+element['backdropPath']
except: # except:
scrapedfanart="" # scrapedfanart=""
infoLabels = {} infoLabels = {}
if item.contentType=='movie': if item.contentType=='movie':
@@ -210,20 +213,15 @@ def get_itemlist_element(element,item):
quality='' quality=''
url="%s%s" url="%s%s"
if item.contentType=='movie': return item.clone(action=next_action,
support.tmdb.set_infoLabels_itemlist(itemlist)
itemlist.append(
item.clone(action=next_action,
title=support.typo(scrapedtitle, 'bold') + quality, title=support.typo(scrapedtitle, 'bold') + quality,
fulltitle=scrapedtitle, fulltitle=scrapedtitle,
show=scrapedtitle, show=scrapedtitle,
plot=scrapedplot, plot=scrapedplot,
fanart=scrapedfanart, # fanart=scrapedfanart,
thumbnail=scrapedthumbnail, thumbnail=scrapedthumbnail,
contentTitle=contentTitle, contentTitle=contentTitle,
contentSerieName=contentSerieName, contentSerieName=contentSerieName,
contentType=item.contentType, contentType=item.contentType,
url=url % (host, element['@id']), url=url % (host, element['@id']),
infoLabels=infoLabels)) infoLabels=infoLabels)
return itemlist
+23 -12
View File
@@ -1,27 +1,38 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
# --------------------------------------------------------
# Conector streamtape By Alfa development Group
# --------------------------------------------------------
import re
from core import httptools from core import httptools
from core import scrapertools from core import scrapertools
from platformcode import logger, config from platformcode import logger
import sys
PY3 = False
if sys.version_info[0] >= 3: PY3 = True; unicode = str; unichr = chr; long = int
def test_video_exists(page_url): def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url) logger.info("(page_url='%s')" % page_url)
global data global data
data = httptools.downloadpage(page_url).data
referer = {"Referer": page_url}
data = httptools.downloadpage(page_url, headers=referer).data
if "Video not found" in data: if "Video not found" in data:
return False, config.get_localized_string(70449) % "Streamtape" return False, "[streamtape] El archivo no existe o ha sido borrado"
return True, "" return True, ""
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 = []
global data url = "https:" + scrapertools.find_single_match(data, 'innerHTML = "([^"]+)')
url = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers.get("location", "")
url = scrapertools.find_single_match(data, 'id="videolink"[^>]+>\n?\s*//(.*?)<') video_urls.append(['MP4 [streamtape]', url])
if url: return video_urls
media_url = 'https://' + url + '&stream=1'
video_urls.append([".mp4 [Streamtape]", media_url])
return video_urls