def urlresolve(self,url): linkVideo='' hmf = urlresolver.HostedMediaFile(url=url, include_disabled=True, include_universal=False) if hmf.valid_url() == True: linkVideo = hmf.resolve() self.control.log('XYXYXYXYXYYXYXYX YXYXYYX PLAYYYYYYERRRRRRRRRRRR [%s]' % linkVideo) #if linkVideo == False: # linkVideo = self.up.getVideoLink(srcVideo, url) return linkVideo
def direct_resolve(url): try: import urlresolver9 except: control.dialog.ok("Dependency missing", "please install script.mrknow.urlresolver to resolve non-direct links") try: allow_debrid = bool(control.setting('allow_debrid')) hmf = urlresolver9.HostedMediaFile(url=url, include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(url) if resolved_url and sources().check_playable(resolved_url) is not None: return resolved_url except: return False
def urlresolve(self, url): linkVideo = '' if not 'http' in url: url = 'http:' + url self.control.log('2 PLAYYYYYYERRRRRRRRRRRR %s ' % url) hmf = urlresolver.HostedMediaFile(url=url, include_disabled=True, include_universal=False) if hmf.valid_url() == True: linkVideo = hmf.resolve() #self.control.log('3 PLAYYYYYYERRRRRRRRRRRR [%s]' % linkVideo) else: self.control.log('3 PLAYYYYYYERRRRRRRRRRRR not valid ') #if linkVideo == False: # linkVideo = self.up.getVideoLink(srcVideo, url) return linkVideo
def request(url): try: control.log("#RESOLVER# my url 1 ************ %s " % url) if '</regex>' in url: import regex url = regex.resolve(url) rd = realdebrid.resolve(url) #control.log("#RESOLVER# my rd 2 ************ %s url: %s" % (rd,url)) if not rd == None: return rd pz = premiumize.resolve(url) if not pz == None: return pz if url.startswith('rtmp'): if len(re.compile('\s*timeout=(\d*)').findall(url)) == 0: url += ' timeout=10' return url try: z = False hmf = urlresolver.HostedMediaFile(url, include_disabled=False, include_universal=False) if hmf: print 'yay! we can resolve this one' z = hmf.resolve() else: print 'sorry :( no resolvers available to handle this one.' control.log("!!!!!!!!! OK #urlresolver2# URL %s " % z) if z != False: return z except Exception as e: control.log("!!!!!!!!! ERROR #urlresolver2# URL %s " % e) pass return None except: return url
def getSources(title, year, imdb, tvdb, season, episode, tvshowtitle, premiered, timeout=30, progress=True, preset="search", dialog=None, exclude=None, scraper_title=False, queueing=False): year = str(year) content = 'movie' if tvshowtitle == None else 'episode' allow_debrid = control.setting('allow_debrid') == "true" if content == 'movie': title = cleantitle.normalize(title) links_scraper = nanscrapers.scrape_movie(title, year, imdb, timeout=timeout, exclude=exclude, enable_debrid=allow_debrid) elif content == 'episode': if scraper_title: tvshowtitle = title tvshowtitle = cleantitle.normalize(tvshowtitle) links_scraper = nanscrapers.scrape_episode(tvshowtitle, year, premiered, season, episode, imdb, tvdb, timeout=timeout, exclude=exclude, enable_debrid=allow_debrid) else: return if not queueing and control.setting('use_link_dialog') == 'true': if control.setting('check_url') == "true": check_url = True else: check_url = False if content == 'movie': link, items = nanscrapers.scrape_movie_with_dialog(title, year, imdb, timeout=timeout, exclude=exclude, sort_function=sources.sort_function, check_url=check_url, extended=True, enable_debrid=allow_debrid) elif content == "episode": link, items = nanscrapers.scrape_episode_with_dialog(tvshowtitle, year, premiered, season, episode, imdb, tvdb, timeout=timeout, exclude=exclude, sort_function=sources.sort_function, check_url=check_url, extended=True, enable_debrid=allow_debrid) else: return if link is None: return False if type(link) == dict and "path" in link: link = link["path"] url = link['url'] if allow_debrid: new_url = debrid.resolve(url) if new_url: url = new_url import urlresolver9 try: hmf = urlresolver9.HostedMediaFile(url=url, include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() else: resolved_url = url except: resolved_url = None if resolved_url and sources().check_playable(resolved_url) is not None: url = resolved_url else: if control.setting('link_fallthtough') == 'true': try: links = [] for item in items: if type(item) == dict and "path" in item: links.extend(item["path"][1]) else: links.extend(item[1]) index = links.index(link) links = links[index + 1:] for link in links: try: hmf = urlresolver9.HostedMediaFile(url=link["url"], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() else: resolved_url = None except: resolved_url = None if resolved_url and sources().check_playable(resolved_url) is not None: url = resolved_url return url url = None except: pass else: url = None return url sd_links = [] non_direct = [] sd_non_direct = [] links_scraper = links_scraper() for scraper_links in links_scraper: if scraper_links is not None: random.shuffle(scraper_links) for scraper_link in scraper_links: if dialog is not None and dialog.iscanceled(): return if allow_debrid: new_url = debrid.resolve(scraper_link['url']) if new_url: scraper_link['url'] = new_url if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url']) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link[ 'url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in ["SD", "CAM", "SCR"]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: if scraper_link["direct"]: sd_links.append(scraper_link) else: sd_non_direct.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: if scraper_link["direct"]: sd_links.append(scraper_link) else: sd_non_direct.append(scraper_link) continue if "m4u" in scraper_link['url']: if sources().check_playable(scraper_link['url']) is not None: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable(resolved_url) is not None: url = resolved_url return url else: if sources().check_playable(scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) for scraper_link in non_direct: if dialog is not None and dialog.iscanceled(): return if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url']) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link[ 'url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in ["SD", "CAM", "SCR"]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: sd_non_direct.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: sd_non_direct.append(scraper_link) continue try: hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and ( resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url for scraper_link in sd_links: if dialog is not None and dialog.iscanceled(): return if "m4u" in scraper_link['url']: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable(resolved_url) is not None: url = resolved_url return url else: if sources().check_playable(scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) try: import urlresolver9 except: control.dialog.ok("Dependency missing", "please install script.mrknow.urlresolver to resolve non-direct links") return for scraper_link in sd_non_direct: if dialog is not None and dialog.iscanceled(): return try: hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and ( resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url
def getMusicSources(title, artist, timeout=30, progress=True, preset="search", dialog=None, exclude=None, queueing=False): title = cleantitle.normalize(title) links_scraper = nanscrapers.scrape_song(title, artist, timeout=timeout, exclude=exclude) sd_links = [] non_direct = [] sd_non_direct = [] allow_debrid = bool(control.setting('allow_debrid')) for scraper_links in links_scraper(): if scraper_links is not None: random.shuffle(scraper_links) for scraper_link in scraper_links: if dialog is not None and dialog.iscanceled(): return if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url']) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link[ 'url']): continue if preset.lower() == 'searchsd': if scraper_link['quality'] not in ["SD"]: continue elif preset.lower() == 'search': if scraper_link['quality'] in ["SD"]: sd_links.append(scraper_link) continue if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) for scraper_link in sd_links: if dialog is not None and dialog.iscanceled(): return if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) try: import urlresolver9 except: control.dialog.ok("Dependency missing", "please install script.mrknow.urlresolver to resolve non-direct links") return for scraper_link in non_direct: if dialog is not None and dialog.iscanceled(): return if preset.lower() == 'searchsd': if scraper_link['quality'] not in ["SD"]: continue elif preset.lower() == 'search': if scraper_link['quality'] in ["SD"]: sd_non_direct.append(scraper_link) continue try: hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and ( resolved_url.startswith("plugin://") or sources().check_playable( resolved_url) is not None): url = resolved_url return url for scraper_link in sd_non_direct: if dialog is not None and dialog.iscanceled(): return try: hmf = urlresolver9.HostedMediaFile(url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and ( resolved_url.startswith("plugin://") or sources().check_playable( resolved_url) is not None): url = resolved_url return url
def getSources(title, year, imdb, tvdb, season, episode, tvshowtitle, premiered, timeout=20, progress=True, preset="search", dialog=None, exclude=None, scraper_title=False, queueing=False): progressDialog = control.progressDialog progressDialog.create(control.addonInfo('name'), '') progressDialog.update( 0, '[COLOR yellow]Scraping the net for Streams[/COLOR]', 'Please Be Patient...') year = str(year) content = 'movie' if tvshowtitle == None else 'episode' allow_debrid = control.setting('allow_debrid') == "true" if content == 'movie': title = cleantitle.normalize(title) links_scraper = nanscrapers.scrape_movie( title, year, imdb, timeout=timeout, exclude=exclude, enable_debrid=allow_debrid) elif content == 'episode': if scraper_title: tvshowtitle = title tvshowtitle = cleantitle.normalize(tvshowtitle) links_scraper = nanscrapers.scrape_episode( tvshowtitle, year, premiered, season, episode, imdb, tvdb, timeout=timeout, exclude=exclude, enable_debrid=allow_debrid) else: return sd_links = [] non_direct = [] sd_non_direct = [] links_scraper = links_scraper() for scraper_links in links_scraper: if scraper_links is not None: random.shuffle(scraper_links) for scraper_link in scraper_links: if dialog is not None and dialog.iscanceled(): return if allow_debrid: new_url = debrid.resolve(scraper_link['url']) if new_url: scraper_link['url'] = new_url if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url'] ) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link['url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in [ "SD", "CAM", "SCR" ]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: if scraper_link["direct"]: sd_links.append(scraper_link) else: sd_non_direct.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: if scraper_link["direct"]: sd_links.append(scraper_link) else: sd_non_direct.append(scraper_link) continue if "m4u" in scraper_link['url']: if sources().check_playable( scraper_link['url']) is not None: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable( resolved_url) is not None: url = resolved_url return url else: if sources().check_playable( scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) for scraper_link in non_direct: if dialog is not None and dialog.iscanceled(): return if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url']) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link['url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in ["SD", "CAM", "SCR"]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: sd_non_direct.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: sd_non_direct.append(scraper_link) continue try: hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and (resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url for scraper_link in sd_links: if dialog is not None and dialog.iscanceled(): return if "m4u" in scraper_link['url']: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable( resolved_url) is not None: url = resolved_url return url else: if sources().check_playable(scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) try: import urlresolver9 except: control.dialog.ok( "Dependency missing", "please install script.mrknow.urlresolver to resolve non-direct links" ) return for scraper_link in sd_non_direct: if dialog is not None and dialog.iscanceled(): return try: hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and (resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url try: progressDialog.close() except: pass
def getSources(title, year, imdb, tvdb, season, episode, tvshowtitle, premiered, timeout=30, progress=True, preset="search", dialog=None, exclude=None, scraper_title=False): year = str(year) content = 'movie' if tvshowtitle == None else 'episode' if content == 'movie': title = cleantitle.normalize(title) links_scraper = nanscrapers.scrape_movie(title, year, imdb, timeout=timeout, exclude=exclude) elif content == 'episode': if scraper_title: tvshowtitle = title tvshowtitle = cleantitle.normalize(tvshowtitle) links_scraper = nanscrapers.scrape_episode(tvshowtitle, year, premiered, season, episode, imdb, tvdb, timeout=timeout, exclude=exclude) else: return allow_debrid = bool(control.setting('allow_debrid')) if control.setting('use_link_dialog') == 'true': if content == 'movie': link = nanscrapers.scrape_movie_with_dialog( title, year, imdb, timeout=timeout, exclude=exclude, sort_function=sources.sort_function) elif content == "episode": link = nanscrapers.scrape_episode_with_dialog( tvshowtitle, year, premiered, season, episode, imdb, tvdb, timeout=timeout, exclude=exclude, sort_function=sources.sort_function) else: return url = link['url'] import urlresolver9 hmf = urlresolver9.HostedMediaFile(url=url, include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() else: resolved_url = None if resolved_url and sources().check_playable( resolved_url) is not None: url = resolved_url return url sd_links = [] non_direct = [] sd_non_direct = [] links_scraper = links_scraper() for scraper_links in links_scraper: if scraper_links is not None: random.shuffle(scraper_links) for scraper_link in scraper_links: if dialog is not None and dialog.iscanceled(): return if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url'] ) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link['url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in [ "SD", "CAM", "SCR" ]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: sd_links.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: sd_links.append(scraper_link) continue if "m4u" in scraper_link['url']: if sources().check_playable( scraper_link['url']) is not None: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable( resolved_url) is not None: url = resolved_url return url else: if sources().check_playable( scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) for scraper_link in non_direct: if dialog is not None and dialog.iscanceled(): return if (not control.setting('allow_openload') == 'true' and 'openload' in scraper_link['url']) or ( not control.setting('allow_the_video_me') == 'true' and 'thevideo.me' in scraper_link['url']): continue if preset.lower() == 'searchsd': try: quality = int(scraper_link['quality']) if quality > 576: continue except: if scraper_link['quality'] not in ["SD", "CAM", "SCR"]: continue elif preset.lower() == 'search': try: quality = int(scraper_link['quality']) if quality <= 576: sd_non_direct.append(scraper_link) continue except: if scraper_link['quality'] in ["SD", "CAM", "SCR"]: sd_non_direct.append(scraper_link) continue try: hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and (resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url for scraper_link in sd_links: if dialog is not None and dialog.iscanceled(): return if "m4u" in scraper_link['url']: return scraper_link['url'] else: try: if scraper_link['direct']: import urlresolver9 hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) if resolved_url and sources().check_playable( resolved_url) is not None: url = resolved_url return url else: if sources().check_playable(scraper_link['url']): return scraper_link['url'] else: non_direct.append(scraper_link) except: if scraper_link['direct']: url = scraper_link['url'] if sources().check_playable(url) is not None: return url else: non_direct.append(scraper_link) try: import urlresolver9 except: control.dialog.ok( "Dependency missing", "please install script.mrknow.urlresolver to resolve non-direct links" ) return for scraper_link in sd_non_direct: if dialog is not None and dialog.iscanceled(): return try: hmf = urlresolver9.HostedMediaFile( url=scraper_link['url'], include_disabled=False, include_universal=allow_debrid) if hmf.valid_url() == True: resolved_url = hmf.resolve() # resolved_url = urlresolver9.resolve(scraper_link['url']) except: continue if resolved_url and (resolved_url.startswith("plugin://") or sources().check_playable(resolved_url) is not None): url = resolved_url return url