def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) try: html = self.net.http_GET(web_url).content page = "".join(html.splitlines()).replace("\t", "") r = re.search("return p\}\('(.+?)',\d+,\d+,'(.+?)'", page) if r: p, k = r.groups() else: raise Exception("packed javascript embed code not found") decrypted_data = unpack_js(p, k) r = re.search("file.',.'(.+?).'", decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: raise Exception("File Not Found or removed") return stream_url except urllib2.URLError, e: common.addon.log_error(self.name + ": got http error %d fetching %s" % (e.code, web_url)) common.addon.show_small_popup("Error", "Http error: " + str(e), 8000, error_logo) return False
def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) try: html = self.net.http_GET(web_url).content page = ''.join(html.splitlines()).replace('\t','') r = re.search("return p\}\(\'(.+?)\',\d+,\d+,\'(.+?)\'", page) if r: p, k = r.groups() else: raise Exception ('packed javascript embed code not found') decrypted_data = unpack_js(p, k) r = re.search('file.\',.\'(.+?).\'', decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: raise Exception ('stream url not found') return stream_url except urllib2.URLError, e: common.addon.log_error('Hostingcup: got http error %d fetching %s' % (e.code, web_url)) common.addon.show_small_popup('Error','Http error: '+str(e), 5000, error_logo) return self.unresolvable(code=3, msg=e)
class HostingcupResolver(Plugin, UrlResolver, PluginSettings): implements = [UrlResolver, PluginSettings] name = "hostingcup" def __init__(self): p = self.get_setting('priority') or 100 self.priority = int(p) self.net = Net() self.pattern = 'http://(www.)?hostingcup.com/[0-9A-Za-z]+' def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) try: html = self.net.http_GET(web_url).content except urllib2.URLError, e: common.addon.log_error(self.name + '- got http error %d fetching %s' % (e.code, web_url)) return False page = ''.join(html.splitlines()).replace('\t', '') r = re.search("return p\}\(\'(.+?)\',\d+,\d+,\'(.+?)\'", page) if r: p, k = r.groups() else: common.addon.log_error(self.name + '- packed javascript embed code not found') return False decrypted_data = unpack_js(p, k) r = re.search('file.\',.\'(.+?).\'', decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: common.addon.log_error(self.name + '- stream url not found') return False return stream_url
def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) try: html = self.net.http_GET(web_url).content if 'file has been removed' in html: raise Exception('File has been removed.') form_values = {} for i in re.finditer( '<input type="hidden" name="(.+?)" value="(.+?)">', html): form_values[i.group(1)] = i.group(2) html = self.net.http_POST(web_url, form_data=form_values).content page = ''.join(html.splitlines()).replace('\t', '') r = re.compile("return p\}\(\'(.+?)\',\d+,\d+,\'(.+?)\'").findall( page) if r: p = r[1][0] k = r[1][1] else: raise Exception('packed javascript embed code not found') decrypted_data = unpack_js(p, k) r = re.search('file.\',.\'(.+?).\'', decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: raise Exception('stream url not found') return stream_url except urllib2.URLError, e: common.addon.log_error('Ovfile: got http error %d fetching %s' % (e.code, web_url)) common.addon.show_small_popup('Error', 'Http error: ' + str(e), 5000, error_logo) return self.unresolvable(code=3, msg=e)
def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) html = self.net.http_GET(web_url).content dialog = xbmcgui.Dialog() if 'file has been removed' in html: dialog.ok(' UrlResolver ', ' File has been removed. ', '', '') return False form_values = {} for i in re.finditer( '<input type="hidden" name="(.+?)" value="(.+?)">', html): form_values[i.group(1)] = i.group(2) html = self.net.http_POST(web_url, form_data=form_values).content page = ''.join(html.splitlines()).replace('\t', '') r = re.compile("return p\}\(\'(.+?)\',\d+,\d+,\'(.+?)\'").findall(page) if r: p = r[1][0] k = r[1][1] else: common.addon.log_error(self.name + '- packed javascript embed code not found') return False decrypted_data = unpack_js(p, k) r = re.search('file.\',.\'(.+?).\'', decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: common.addon.log_error(self.name + '- stream url not found') return False return stream_url
def get_media_url(self, host, media_id): print 'ovfile: in get_media_url %s %s' % (host, media_id) web_url = self.get_url(host, media_id) html = self.net.http_GET(web_url).content dialog = xbmcgui.Dialog() if 'file has been removed' in html: dialog.ok(' UrlResolver ', ' File has been removed. ', '', '') return False form_values = {} for i in re.finditer('<input type="hidden" name="(.+?)" value="(.+?)">', html): form_values[i.group(1)] = i.group(2) html = self.net.http_POST(web_url, form_data=form_values).content page = ''.join(html.splitlines()).replace('\t','') r = re.compile("return p\}\(\'(.+?)\',\d+,\d+,\'(.+?)\'").findall(page) if r: p = r[1][0] k = r[1][1] else: common.addon.log_error(self.name + '- packed javascript embed code not found') return False decrypted_data = unpack_js(p, k) r = re.search('file.\',.\'(.+?).\'', decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: common.addon.log_error(self.name + '- stream url not found') return False return stream_url
def get_media_url(self, host, media_id): web_url = self.get_url(host, media_id) try: html = self.net.http_GET(web_url).content if "file has been removed" in html: raise Exception("File has been removed.") form_values = {} for i in re.finditer('<input type="hidden" name="(.+?)" value="(.+?)">', html): form_values[i.group(1)] = i.group(2) html = self.net.http_POST(web_url, form_data=form_values).content page = "".join(html.splitlines()).replace("\t", "") r = re.compile("return p\}\('(.+?)',\d+,\d+,'(.+?)'").findall(page) if r: p = r[1][0] k = r[1][1] else: raise Exception("packed javascript embed code not found") decrypted_data = unpack_js(p, k) r = re.search("file.',.'(.+?).'", decrypted_data) if not r: r = re.search('src="(.+?)"', decrypted_data) if r: stream_url = r.group(1) else: raise Exception("stream url not found") return stream_url except urllib2.URLError, e: common.addon.log_error("Ovfile: got http error %d fetching %s" % (e.code, web_url)) common.addon.show_small_popup("Error", "Http error: " + str(e), 5000, error_logo) return self.unresolvable(code=3, msg=e)