Exemplo n.º 1
0
def PlayMovie(url, title, picture):
    print "Opening url: " + url
    link = urlresolver.resolve(url)
    # xbmc.executebuiltin('PlayMedia('+link+')')
    # xbmc.executebuiltin('RunAddon(plugin.video.youtube)')
    if link != False:
        kodi_func.addLink(
            title.decode('utf-8').encode('utf-8'), link.encode('utf-8'),
            picture)
    elif kodi_func.isVideoFormat(url.split(".")[-1]):
        kodi_func.addLink(title.decode('utf-8').encode('utf-8'), url, picture)
    print link
Exemplo n.º 2
0
def PlayMovie(url, title, picture):
    print "url: " + url
    html = network.getHTML(url)
    # print "html: " + html

    streamLangNames = []

    movieDivContainer = common.parseDOM(
        html, "div", attrs={"class": "featured-movie-player"})
    movieIframeSrc = common.parseDOM(movieDivContainer, "iframe", ret="src")

    movieID = urlparse.parse_qs(urlparse.urlparse(
        movieIframeSrc[0]).query)['id'][0]
    print "MoviedID: ", movieID

    jsonRaw = network.getHTML("http://playapi.mtgx.tv/v3/videos/stream/" +
                              movieID)
    print "RAW JSON: ", jsonRaw
    if jsonRaw:
        jsonDecoded = json.loads(jsonRaw)
    else:
        jsonDecoded = ""

    if 'streams' not in jsonDecoded:
        jsonRaw = network.getHTML(
            "http://dev.morf.lv/mirror.php?url=http://playapi.mtgx.tv/v3/videos/stream/"
            + movieID).replace(
                '<base href="http://playapi.mtgx.tv/v3/videos/stream/' +
                movieID + '" />', '')
        print "fallback json raw:", jsonRaw
        jsonDecoded = json.loads(jsonRaw)

    print "Movie Elements: ", movieDivContainer, movieIframeSrc, jsonDecoded

    if jsonDecoded['streams']['high'] != None:
        kodi_func.addLink(
            title.decode('utf-8').encode('utf-8') + " - HIGH",
            jsonDecoded['streams']['high'], picture)

    if jsonDecoded['streams']['hls'] != None:
        kodi_func.addLink(
            title.decode('utf-8').encode('utf-8') + " - HLS",
            jsonDecoded['streams']['hls'], picture)

    # if jsonDecoded['streams']['medium'] != None:
    # kodi_func.addLink(title.decode('utf-8').encode('utf-8') + " - MEDIUM", jsonDecoded['streams']['medium'], picture)
Exemplo n.º 3
0
def PlayMovie(url, title, picture):
    # print url
    session = requests.session()
    scraper = cfscrape.create_scraper(sess=session)
    html = scraper.get(url).content
    # print html
    # return
    displayDiv = common.parseDOM(html, "div", attrs={"id": "display"})
    # print displayDiv
    videoContainer = common.parseDOM(displayDiv[0], "iframe", ret="src")
    print "ATRASTIE VIDEO: "
    print videoContainer
    print title.decode('latin-1').encode('utf-8')

    links = []

    if len(videoContainer) > 0:
        links.append(videoContainer[0])

    searchObj = re.search('file: atob\("[\w\d=.,]*"\)', html)
    if searchObj:
        resolvedUrl = searchObj.group().replace('file: atob("', '')
        resolvedUrl = resolvedUrl[:-2]
        links.append(base64.b64decode(resolvedUrl))
        # print resolvedUrl, videoContainer
    else:
        print "Well couldn't find jwplayer url"

    for i in range(0, len(links)):
        linkUrl = links[i]
        link = urlresolver.resolve(linkUrl)
        if link != False:
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8'), link.encode('utf-8'),
                picture)
        elif kodi_func.isVideoFormat(linkUrl.split(".")[-1]):
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8'), linkUrl, picture)
        print "LINKS: " + str(link)
    # link = re.compile('file:[\s\t]*"(.+?)"').findall(html.decode('windows-1251').encode('utf-8'))[0]
Exemplo n.º 4
0
def PlayMovie(url, title, picture):
    # print url
    session = requests.session()
    scraper = cfscrape.create_scraper(sess=session)
    html = scraper.get('http:' + url).content
    # print html
    # return
    displayDiv = common.parseDOM(html, "div", attrs={"id": "display"})
    # print displayDiv
    videoContainer = common.parseDOM(displayDiv[0], "iframe", ret="src")
    print "ATRASTIE VIDEO: "
    print videoContainer
    print title.decode('latin-1').encode('utf-8')

    #aha it's not the standard openload.co video
    print len(videoContainer)
    if len(videoContainer) == 0:
        searchObj = re.search('file: atob\("[\w\d=.,]*"\)', html)
        if searchObj:
            resolvedUrl = searchObj.group().replace('file: atob("', '')
            resolvedUrl = resolvedUrl[:-2]
            videoContainer = [base64.b64decode(resolvedUrl)]
            print resolvedUrl, videoContainer
        else:
            print "Well couldn't decode url"

    link = urlresolver.resolve(videoContainer[0])
    if link != False:
        kodi_func.addLink(
            title.decode('utf-8').encode('utf-8') + " - Latviski",
            link.encode('utf-8'), picture)
    elif kodi_func.isVideoFormat(videoContainer[0].split(".")[-1]):
        kodi_func.addLink(
            title.decode('utf-8').encode('utf-8') + " - Latviski",
            videoContainer[0], picture)
    print "LINKS: " + str(link)
    # link = re.compile('file:[\s\t]*"(.+?)"').findall(html.decode('windows-1251').encode('utf-8'))[0]
Exemplo n.º 5
0
def PlayMovie(url, title, picture):
    print "url: " + url
    html = network.getHTML(url)
    # print "html: " + html

    mainMovieCol = common.parseDOM(html, "div", attrs={"id": "movie"})
    print mainMovieCol
    video = common.parseDOM(mainMovieCol, "iframe", ret="src")[0]

    try:
        link = urlresolver.resolve(video)
        if link != False:
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Latviski",
                link.encode('utf-8'), picture)
        elif kodi_func.isVideoFormat(video.split(".")[-1]):
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Latviski", video,
                picture)
        print link
    except:
        xbmcgui.Dialog().ok("Opā!", "Nevarēju dekodēt strīmu",
                            "Iespējams ka fails vairs neeksistē",
                            "Tāda dzīve, mēģini citi avotu")
Exemplo n.º 6
0
def PlayMovie(url, title, picture):
    print "url: " + url
    html = network.getHTML(url)
    print "html: " + html

    mainMovieCol = common.parseDOM(html, "div", attrs={"class": "playex"})
    print mainMovieCol
    videoContainers = common.parseDOM(mainMovieCol[0], "source", ret="src")
    videoContainers = videoContainers + common.parseDOM(
        mainMovieCol[0], "iframe", ret="src")
    print "ATRASTIE VIDEO: "
    print videoContainers
    print title.decode('latin-1').encode('utf-8')

    if len(videoContainers) > 0:
        link = url_resolver_plus.resolve(videoContainers[0])
        if link != False:
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Latviski",
                link.encode('utf-8'), picture)
        elif '.' in videoContainers[0] and kodi_func.isVideoFormat(
                videoContainers[0].split(".")[-1]):
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Latviski",
                videoContainers[0], picture)
        print link
    if len(videoContainers) > 1:
        link = url_resolver_plus.resolve(videoContainers[1])
        if link != False:
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Angliski",
                link.encode('utf-8'), picture)
        elif '.' in videoContainers[1] and kodi_func.isVideoFormat(
                videoContainers[1].split(".")[-1]):
            kodi_func.addLink(
                title.decode('utf-8').encode('utf-8') + " - Latviski",
                videoContainers[1], picture)

        print link
    # link = re.compile('file:[\s\t]*"(.+?)"').findall(html.decode('windows-1251').encode('utf-8'))[0]
Exemplo n.º 7
0
def PlayMovie(url, title, picture):
	print "url: " + url
	html = network.getHTML(url)
	# print "html: " + html
	
	streamLangNames = []
	
	mainMovieCol = common.parseDOM(html, "div", attrs = { "class": "videooPlayer"} )
	mainMovieCol = mainMovieCol[0].replace("\n", "").replace("<br>", "").replace("<br />", "")
	
	streamLangNames = re.findall('[(A-Z A-Z)|(A-Z)]+<iframe', mainMovieCol)
	movieStreamSrc = common.parseDOM(mainMovieCol, "iframe", ret = "src" )
	
	# For f***s sake, not only this website has hqq links but sometimes it hides them in ;eval obfuscators. Come on gentelmen make my life a bit easier
	if ";eval" in mainMovieCol:
		js = mainMovieCol.split('<script language="javascript" type="text/javascript">',1)[1].replace("</script>", "")
		print js
		jsDecoded = getURLFromObfJs(js)
		if re.search(r'<form(.+?)action="[^"]*(hqq|netu)\.tv/player/embed_player\.php"[^>]*>', jsDecoded):
			movieStreamSrc.append( jsDecoded )
		else:
			movieStreamSrc = common.parseDOM(jsDecoded, "iframe", ret = "src" )
	elif "/player/hash.php" in mainMovieCol:
		searchObj = re.search(r'(https:|http:)\/\/(hqq|netu)\.tv/player/hash\.php\?hash=\d+', html)
		if searchObj:
			resolvedHashUrl = searchObj.group(0)
			print "RESOLVED HASH URL: " + resolvedHashUrl	
			movieStreamSrc.append(resolvedHashUrl)
		else:
			print "WTF, couldn't find the hash url"
			return False
	elif "data:text/javascript;charset=utf-8;base64" in mainMovieCol:
		movieStreamSrc.append(mainMovieCol)
	
	
	   
	print "Important HTML elements:"
	print mainMovieCol, streamLangNames, movieStreamSrc
	for i in range(0, len(movieStreamSrc)):
		# sometimes the links are hidden in goo.gl shortener, if so, we first need to unshorten
		if "goo.gl" in movieStreamSrc[i]:
			movieStreamSrc[i] = network.unshorten_url( movieStreamSrc[i] )
	
		# If it is the normal stream utilise the hqqresolver
		if "hqq.tv" in movieStreamSrc[i] or "netu.tv" in movieStreamSrc[i] or "data:text/javascript;charset=utf-8;base64" in movieStreamSrc[i] or "<form" in movieStreamSrc[i]:
			link = hqqresolver.resolve(movieStreamSrc[i])
			print "resolved link: ",link
			
			if not link:
				print "Well hqqresolver script failed... let's try my one"
				parsed = urlparse.urlparse( movieStreamSrc[i] )
				vid = urlparse.parse_qs(parsed.query)['vid'][0]
				print ("VID: " + vid)
				hqqvidresolver = hqqresolver2.hqqResolver()
                                    
				# Parse the final URL
				link = hqqvidresolver.resolve(vid)
				print ("Final URL: " + link)

				# resolveHQQ(movieStreamSrc[i], url)
			else:
				link = link[0]['url']
		else: # or sometimes we get openload.co stream
			link = urlresolver.resolve(movieStreamSrc[i])
		
		if i < len(streamLangNames):
			streamLang = " - " + streamLangNames[i][:-7]
		else:
			streamLang = ""
		print streamLang
		
		if link != False:
			print link
		
		if link != False:
			kodi_func.addLink(title.decode('utf-8').encode('utf-8') + streamLang.encode('utf-8'), link.encode('utf-8'), picture)	
		elif kodi_func.isVideoFormat(movieStreamSrc[i].split(".")[-1]):
			kodi_func.addLink(title.decode('utf-8').encode('utf-8') + streamLang.encode('utf-8'), movieStreamSrc[i], picture)