46 lines
1.4 KiB
Python
Executable File
46 lines
1.4 KiB
Python
Executable File
# -*- coding: utf-8 -*-
|
|
|
|
import xml.etree.ElementTree as ET
|
|
|
|
from core import jsontools
|
|
from core import scrapertools
|
|
from platformcode import logger
|
|
|
|
|
|
def test_video_exists(page_url):
|
|
logger.info("(page_url='%s')" % page_url)
|
|
|
|
data = scrapertools.cachePage(page_url)
|
|
if ("File was deleted" or "Not Found") in data: return False, "[playwire] El archivo no existe o ha sido borrado"
|
|
|
|
return True, ""
|
|
|
|
|
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
|
logger.info("url=" + page_url)
|
|
|
|
data = scrapertools.cachePage(page_url)
|
|
data = jsontools.load(data)
|
|
f4m = data['content']['media']['f4m']
|
|
|
|
video_urls = []
|
|
data = scrapertools.downloadpageGzip(f4m)
|
|
|
|
xml = ET.fromstring(data)
|
|
base_url = xml.find('{http://ns.adobe.com/f4m/1.0}baseURL').text
|
|
for media in xml.findall('{http://ns.adobe.com/f4m/1.0}media'):
|
|
if ".m3u8" in media.get('url'): continue
|
|
media_url = base_url + "/" + media.get('url')
|
|
try:
|
|
height = media.get('height')
|
|
width = media.get('width')
|
|
label = "(" + width + "x" + height + ")"
|
|
except:
|
|
label = ""
|
|
video_urls.append([scrapertools.get_filename_from_url(media_url)[-4:] + " " + label + " [playwire]", media_url])
|
|
|
|
for video_url in video_urls:
|
|
logger.info("%s - %s" % (video_url[0], video_url[1]))
|
|
|
|
return video_urls
|