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
Beispiel #2
0
 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)
Beispiel #3
0
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
Beispiel #4
0
    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)
Beispiel #5
0
    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
Beispiel #6
0
    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)