Exemplo n.º 1
0
    def getLiveSource(self):
        try:
            logger.debug(control.setting('livelocal'))
            if control.setting('livelocal') == 'true':
                dataPath = control.dataPath
                filename = os.path.join(dataPath, 'livestreams_wip.json')
                filename = open(filename)
                result = filename.read()
                filename.close()
            else:
                result = client.request(self.live_link)

            channels = json.loads(result)

            channelNames = channels.keys()
            channelNames.sort()

            for channel in channelNames:
                channelObj = channels[channel]
                if not channelObj['enabled'] == 'false':
                    self.list.append({
                        'name': channel,
                        'poster': channelObj['iconimage'],
                        'url': channelObj['channelUrl'],
                        'provider': 'json',
                        'direct': True
                    })
            return self.list
        except:
            pass
Exemplo n.º 2
0
def resolve(url):
    try:
        result = client.source(url)
        dek = EnkDekoder.dekode(result)

        if not dek == None:
            url = client.parseDOM(dek,
                                  "param",
                                  attrs={"name": "flashvars"},
                                  ret="value")[0]
        else:
            dek = result
            url = re.compile('file*:*"(http.+?)"').findall(dek)[0]

        if re.search(';video_url', url):
            url = re.findall(';video_url=(.+?)&amp', url)[0]
        elif re.search('iframe src=', url):
            url = re.findall('<iframe src="(.+?)"', url)[0]

        url = url.replace('_ipod.mp4', '.flv')
        url = url.replace('preview', 'edit')
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 3
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            try: result = client.source(url, headers=self.headers)
            except: result = ''

            result = json.loads(result)

            try :
                url = result['resultObj']['src']
                url = url.replace('http://','https://').replace('/z/','/i/').replace('manifest.f4m', 'master.m3u8').replace('2000,_STAR.','2000,3000,4500,_STAR.')
                cookie = client.source(url, headers=self.headers, output='cookie')
                result = client.source(url, headers=self.headers)

                match = re.compile("BANDWIDTH=[0-9]+,RESOLUTION=[0-9]+x(.+?),[^\n]*\n([^\n]*)\n").findall(result)
                if match:
                    for (res, url) in match:
                        try :
                            host = 'hotstar'
                            quality = self.res_map[res]
                            url = '%s|Cookie=%s' % (url, cookie)
                            sources.append({'source': host, 'parts': '1', 'quality': quality, 'provider': 'Hotstar', 'url': url, 'direct':True})
                        except:
                            pass
            except:
                pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 4
0
    def run(self, content, name, url, year, imdb, tvdb, meta):
        if control.window.getProperty('PseudoTVRunning') == 'True':
            return control.player.play(url, control.item(path=url))

        self.getVideoInfo(content, name, year, imdb, tvdb)

        if self.folderPath.startswith('plugin://') and not meta == None:
            poster, thumb, meta = self.getMeta(meta)
        else:
            poster, thumb, meta = self.getLibraryMeta(meta)

        logger.debug(' meta %s' % (meta))
        if not type(url) == list:
            url = [url]

        playlist = control.playlist
        playlist.clear()

        for i in range(0, len(url)):
            if len(url) > 1:
                meta['title'] = '%s Part # %s' % (name, str(i + 1))
            try:
                iconImage = meta['iconImage']
            except:
                iconImage = 'DefaultVideo.png'

            item = control.item(name,
                                path=url[i],
                                iconImage=iconImage,
                                thumbnailImage=thumb)
            item.setInfo(type='Video', infoLabels=meta)
            try:
                item.setArt({
                    'poster': poster,
                    'tvshow.poster': poster,
                    'season.poster': poster
                })
            except:
                pass
            item.setProperty('Video', 'true')
            item.setProperty('IsPlayable', 'true')
            playlist.add(url[i], item)

        control.player.play(playlist)

        for i in range(0, 240):
            if self.isPlayingVideo(): break
            xbmc.sleep(1000)
        while self.isPlayingVideo():
            try:
                self.totalTime = self.getTotalTime()
            except:
                pass
            try:
                self.currentTime = self.getTime()
            except:
                pass
            xbmc.sleep(1000)
        control.window.clearProperty('script.trakt.ids')
        time.sleep(5)
Exemplo n.º 5
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            self.login()
            #url = urlparse.urljoin(self.base_link_1, url)
            url = 'http://erosnow.com/profiles/1000218?platform=2&q=auto'
            try: result = client.source(url)
            except: result = ''

            result = json.loads(result)

            #try :
            #     sources.append({'source': host, 'parts': '1', 'quality': quality, 'provider': 'Hotstar', 'url': url, 'direct':True})
            #except:
            #    client.printException('')
            #    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 6
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            self.login()
            #url = urlparse.urljoin(self.base_link_1, url)
            url = 'http://erosnow.com/profiles/1000218?platform=2&q=auto'
            try:
                result = client.source(url)
            except:
                result = ''

            result = json.loads(result)

            #try :
            #     sources.append({'source': host, 'parts': '1', 'quality': quality, 'provider': 'Hotstar', 'url': url, 'direct':True})
            #except:
            #    client.printException('')
            #    pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 7
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            try:
                import xbmc
                ip = xbmc.getIPAddress()
            except:
                ip = 'London'

            url = 'http://cdn.einthusan.com/geturl/%s/hd/%s/' % (url, ip)
            url = client.request(url)

            sources.append({
                'source': 'einthusan',
                'quality': 'HD',
                'provider': 'Einthusan',
                'url': url,
                'direct': True
            })
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 8
0
def resolve(url):
    try:
        result = client.source(url)
        url = re.findall('file: "(.+?)"',result)[0]
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 9
0
def resolve(url):
    try:
        result = client.source(url)
        url = re.findall('file: "(.+?)"', result)[0]
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 10
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            url = self.movie_link % url
            url = urlparse.urljoin(self.base_link, url)

            rUrl = url

            try:
                result = client.source(url, referer=rUrl)
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = result.replace('\n', '').replace('\t', '')

            result = client.parseDOM(result,
                                     "div",
                                     attrs={"class": "movierip"})

            for item in result:
                try:
                    urls = client.parseDOM(item, "a", ret="href")
                    quality = client.parseDOM(item, "a")[0]
                    quality = quality.lower()
                    if "scr rip" in quality:
                        quality = "SCR"
                    elif "dvd" in quality:
                        quality = "HD"
                    else:
                        quality = "CAM"

                    for i in range(0, len(urls)):
                        urls[i] = client.urlRewrite(urls[i])
                    host = client.host(urls[0])
                    if len(urls) > 1:
                        url = "##".join(urls)
                    else:
                        url = urls[0]
                    sources.append({
                        'source': host,
                        'parts': str(len(urls)),
                        'quality': quality,
                        'provider': 'DesiHit',
                        'url': url,
                        'direct': False
                    })
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 11
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            try:
                result = client.source(self.movie_link %
                                       (self.base_link_1, url))
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n', '')

            categories = client.parseDOM(result, "div", attrs={"id": "extras"})
            categories = client.parseDOM(categories,
                                         "a",
                                         attrs={"rel": "category tag"})

            for category in categories:
                category = category.lower()
                if "scr" in category:
                    quality = "SCR"
                    break
                elif "bluray" in category:
                    quality = "HD"
                    break

            links = client.parseDOM(
                result, "div", attrs={"class": "GTTabs_divs GTTabs_curr_div"})
            links += client.parseDOM(result,
                                     "div",
                                     attrs={"class": "GTTabs_divs"})
            for link in links:
                try:
                    url = re.compile(
                        '(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]').findall(
                            link)[0][1]
                    host = client.host(url)
                    sources.append({
                        'source': host,
                        'parts': '1',
                        'quality': quality,
                        'provider': 'HDBuffer',
                        'url': url,
                        'direct': False
                    })
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 12
0
 def resolve(self, url, resolverList):
     logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
     try:
         cookie = url.split("|")[1]
         url = '%s|Cookie=%s&%s' % (url, cookie,urllib.urlencode(self.headers))
         logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
         return [url]
     except:
         return False
Exemplo n.º 13
0
def resolve(url):
    try:
        url = 'http://playu.net/embed-%s.html' % str(getVideoID(url))
        result = client.source(url)
        url = re.findall('file: "(.+?)"',result)[0]
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 14
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            url = urlparse.urljoin(self.base_link, url)

            try:
                result = client.source(url, referer=self.base_link)
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = result.replace('\n', '').replace('\t', '')

            quality = client.parseDOM(result,
                                      "span",
                                      attrs={"class": "calidad2"})[0]

            parts = client.parseDOM(result,
                                    "div",
                                    attrs={"class": "player_nav"})[0]
            parts = client.parseDOM(parts, "a")

            items = client.parseDOM(result, "div", attrs={"id": "player2"})[0]
            items = client.parseDOM(items, "div", attrs={"class": "movieplay"})

            for i in range(0, len(items)):
                try:
                    part = parts[i]
                    part = cleantitle.movie(part)
                    if not "full" in part or "option" in part:
                        continue

                    url = re.compile(
                        '(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]').findall(
                            items[i])[0][1]

                    host = client.host(url)
                    sources.append({
                        'source': host,
                        'parts': '1',
                        'quality': quality,
                        'provider': 'DesiHDMovies',
                        'url': url,
                        'direct': False
                    })
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 15
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            try: result = client.source(url)
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n','')

            quality = ''

            result = client.parseDOM(result, name="div", attrs={"class" : "entry-content rich-content"})[0]
            result = client.parseDOM(result, name="p")
            try :
                host = ''
                urls = []
                result = result[1::]
                serversList = result[::2]
                linksList = result[1::2]
                for i in range(0, len(serversList)):
                    try :
                        links = linksList[i]
                        urls = client.parseDOM(links, name="a", ret="href")

                        for j in range(0, len(urls)):
                            try :
                                item = client.source(urls[j], mobile=True)
                                item = client.parseDOM(item, "td")[0]
                                item = re.compile('(SRC|src|data-config)=\"(.+?)\"').findall(item)[0][1]
                                urls[j] = item
                            except:
                                pass
                        if len(urls) > 1:
                            url = "##".join(urls)
                        else:
                            url = urls[0]
                        host = client.host(urls[0])
                        sources.append({'source': host, 'parts': str(len(urls)), 'quality': quality, 'provider': 'HindiLinks4U', 'url': url, 'direct':False})
                    except:
                        pass
            except:
                pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 16
0
def resolve(url):
    try:
        user, password = getCredentials()

        url = 'http://api.premiumize.me/pm-api/v1.php?method=directdownloadlink&params[login]=%s&params[pass]=%s&params[link]=%s' % (user, password, urllib.quote_plus(url))
        url = url.replace('filefactory.com/stream/', 'filefactory.com/file/')

        result = client.request(url, close=False)
        url = json.loads(result)['result']['location']
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 17
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            self.sources = []

            if url == None: return self.sources

            try: result = client.source(url)
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = client.parseDOM(result, "div", attrs={"class":"col-md-12 mt20"})[0]

            try :
                item = client.parseDOM(result, "center")[0]

                url = re.compile('(SRC|src|data-config)=\"(.+?)\"').findall(item)[0][1]
                host = client.host(url)
                self.sources.append({'source': host, 'parts' : '1', 'quality': quality, 'provider': 'iBollyTV', 'url': url, 'direct':False})
            except:
                pass

            hypermode = False if control.setting('hypermode') == 'false' else True
            threads = []
            try :
                result = client.parseDOM(result, "div", attrs={"class":"table-responsive"})[0]
                result = client.parseDOM(result, "tbody")[0]
                result = client.parseDOM(result, "tr")
                for item in result:
                    if hypermode :
                        threads.append(workers.Thread(self.get_source, item))
                    else :
                        self.get_source(item)

                if hypermode:
                    [i.start() for i in threads]

                    stillWorking = True

                    while stillWorking:
                        stillWorking = False
                        stillWorking = [True for x in threads if x.is_alive() == True]

            except:
                pass
            logger.debug('%s SOURCES [%s]' % (__name__,self.sources))
            return self.sources
        except:
            return self.sources
Exemplo n.º 18
0
    def resolve(self, url, resolverList):

        try :
            logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
            result = client.source(url, headers=self.headers)
            try :
                result = json.loads(result)
                link = result['link']
            except:link = client.parseDOM(result, "source", attrs={"type":"application/x-mpegurl"}, ret="src")[0]
            url = '%s|Referer=%s' % (link, url)
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except :
            return False
Exemplo n.º 19
0
def resolve(url):
    try:
        user, password = getCredentials()

        url = 'http://api.premiumize.me/pm-api/v1.php?method=directdownloadlink&params[login]=%s&params[pass]=%s&params[link]=%s' % (
            user, password, urllib.quote_plus(url))
        url = url.replace('filefactory.com/stream/', 'filefactory.com/file/')

        result = client.request(url, close=False)
        url = json.loads(result)['result']['location']
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 20
0
    def resolve(self, url, resolverList=None):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            url = urlparse.urljoin(self.base_link, url)
            result = client.request(url)
        except:
            pass

        try:
            url = re.compile(
                '"?file"?\s*=\s*"(.+?)"\s+"?label"?\s*=\s*"(\d+)p?"').findall(
                    result)

            url = [(int(i[1]), i[0]) for i in url]
            url = sorted(url, key=lambda k: k[0])
            url = url[-1][1]

            try:
                u = client.request(url, output='headers',
                                   redirect=False)['Location']
            except:
                u = client.request(url, output='geturl')

            q = directstream.googletag(u)[0]['quality']

            url = u

            if 'requiressl=yes' in url:
                url = url.replace('http://', 'https://')
            else:
                url = url.replace('https://', 'http://')
            return url
        except:
            pass

        try:
            url = re.compile('file\s*=\s*"(.+?)"').findall(result)[0]
            if self.base_link in url: raise Exception()
            url = client.replaceHTMLCodes(url)
            return url
        except:
            pass

        try:
            url = json.loads(result)['embed_url']
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except:
            pass
Exemplo n.º 21
0
    def resolve(self, url, resolverList):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            post = {'el':self.user, 'pw':self.password, 'mobile':'', 'callingcode':'', 'type':'json', 'fbid':''}
            h = {'Referer':self.base_link}

            result = client.source(self.login_link, post=urllib.urlencode(post))

            result = json.loads(result)

            t = result['success']
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return [url]
        except:
            return False
Exemplo n.º 22
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            url = self.movie_link % url
            url = urlparse.urljoin(self.base_link, url)

            rUrl = url

            try: result = client.source(url, referer=rUrl)
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = result.replace('\n','').replace('\t','')

            result = client.parseDOM(result, "div", attrs={"class":"movierip"})

            for item in result:
                try :
                    urls = client.parseDOM(item, "a", ret="href")
                    quality = client.parseDOM(item, "a")[0]
                    quality = quality.lower()
                    if "scr rip" in quality:
                        quality = "SCR"
                    elif "dvd" in quality :
                        quality = "HD"
                    else:
                        quality = "CAM"

                    for i in range(0, len(urls)):
                        urls[i] = client.urlRewrite(urls[i])
                    host = client.host(urls[0])
                    if len(urls) > 1:
                        url = "##".join(urls)
                    else:
                        url = urls[0]
                    sources.append({'source': host, 'parts' : str(len(urls)), 'quality': quality, 'provider': 'DesiHit', 'url': url, 'direct':False})
                except :
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 23
0
    def run(self, content, name, url, year, imdb, tvdb, meta):
        if control.window.getProperty('PseudoTVRunning') == 'True':
            return control.player.play(url, control.item(path=url))

        self.getVideoInfo(content, name, year, imdb, tvdb)

        if self.folderPath.startswith('plugin://') and not meta == None:
            poster, thumb, meta = self.getMeta(meta)
        else:
            poster, thumb, meta = self.getLibraryMeta(meta)

        logger.debug(' meta %s' % (meta))
        if not type(url) == list:
            url = [url]

        playlist = control.playlist
        playlist.clear()

        for i in range(0,len(url)):
            if len(url) > 1:
                meta['title'] = '%s Part # %s' % (name, str(i+1))
            try:
                iconImage = meta['iconImage']
            except:
                iconImage = 'DefaultVideo.png'

            item = control.item(name, path=url[i], iconImage=iconImage, thumbnailImage=thumb)
            item.setInfo(type='Video', infoLabels = meta)
            try: item.setArt({'poster': poster, 'tvshow.poster': poster, 'season.poster': poster})
            except: pass
            item.setProperty('Video', 'true')
            item.setProperty('IsPlayable', 'true')
            playlist.add(url[i], item)

        control.player.play(playlist)

        for i in range(0, 240):
            if self.isPlayingVideo(): break
            xbmc.sleep(1000)
        while self.isPlayingVideo():
            try: self.totalTime = self.getTotalTime()
            except: pass
            try: self.currentTime = self.getTime()
            except: pass
            xbmc.sleep(1000)
        control.window.clearProperty('script.trakt.ids')
        time.sleep(5)
Exemplo n.º 24
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))

        try:
            sources = []

            if url == None: return sources

            url = urlparse.urljoin(self.base_link, url)

            content = re.compile('(.+?)\?episode=\d*$').findall(url)
            content = 'movie' if len(content) == 0 else 'episode'

            try: url, episode = re.compile('(.+?)\?episode=(\d*)$').findall(url)[0]
            except: pass

            result = client.request(url)

            url = zip(client.parseDOM(result, 'a', ret='href', attrs = {'target': 'player_iframe'}), client.parseDOM(result, 'a', attrs = {'target': 'player_iframe'}))
            url = [(i[0], re.compile('(\d+)').findall(i[1])) for i in url]
            url = [(i[0], i[1][-1]) for i in url if len(i[1]) > 0]

            if content == 'episode':
                url = [i for i in url if i[1] == '%01d' % int(episode)]

            links = [client.replaceHTMLCodes(i[0]) for i in url]

            for u in links:

                try:
                    result = client.request(u)
                    result = re.findall('sources\s*:\s*\[(.+?)\]', result)[0]
                    result = re.findall('"file"\s*:\s*"(.+?)".+?"label"\s*:\s*"(.+?)"', result)

                    url = [{'url': i[0], 'quality': '1080p'} for i in result if '1080' in i[1]]
                    url += [{'url': i[0], 'quality': 'HD'} for i in result if '720' in i[1]]

                    for i in url:
                        sources.append({'source': 'gvideo', 'quality': i['quality'], 'provider': 'Pubfilm', 'url': i['url'], 'direct': True, 'debridonly': False})
                except:
                    pass
            logger.debug('%s SOURCES URL %s' % (self.__class__, sources))
            return sources
        except:
            return sources
Exemplo n.º 25
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            url = urlparse.urljoin(self.base_link, url)

            result = self.request(url, 'Links - Quality')
            result = result.replace('\n','')

            quality = re.compile('>Links - Quality(.+?)<').findall(result)[0]
            quality = quality.strip()
            if quality == 'CAM' or quality == 'TS': quality = 'CAM'
            elif quality == 'SCREENER': quality = 'SCR'
            else: quality = 'SD'

            links = client.parseDOM(result, 'div', attrs = {'id': 'links'})[0]
            links = links.split('link_name')

            for i in links:
                try:
                    url = client.parseDOM(i, 'a', ret='href')[0]
                    try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0]
                    except: pass
                    try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0]
                    except: pass
                    url = urlparse.urlparse(url).query
                    url = base64.b64decode(url)
                    url = re.findall('((?:http|https)://.+?/.+?)(?:&|$)', url)[0]
                    url = client.replaceHTMLCodes(url)
                    url = url.encode('utf-8')

                    host = re.findall('([\w]+[.][\w]+)$', urlparse.urlparse(url.strip().lower()).netloc)[0]
                    host = client.replaceHTMLCodes(host)
                    host = host.encode('utf-8')

                    sources.append({'source': host, 'quality': quality, 'provider': 'Movie25', 'url': url, 'direct': False, 'debridonly': False})
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 26
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            if url == None: return self.sources

            url = '%s%s' % (self.base_link, url)

            try:
                result = client.source(url)
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = client.parseDOM(result,
                                     "table",
                                     attrs={"class":
                                            "table table-bordered"})[0]
            result = client.parseDOM(result, "tbody")[0]
            result = client.parseDOM(result, "tr")

            hypermode = False if control.setting(
                'hypermode') == 'false' else True

            threads = []
            for item in result:
                if hypermode:
                    threads.append(workers.Thread(self.get_source, item))
                else:
                    self.get_source(item)

            if hypermode:
                [i.start() for i in threads]

                stillWorking = True

                while stillWorking:
                    stillWorking = False
                    stillWorking = [
                        True for x in threads if x.is_alive() == True
                    ]
            logger.debug('%s SOURCES [%s]' % (__name__, self.sources))
            return self.sources
        except:
            return self.sources
Exemplo n.º 27
0
    def resolve(self, url, resolverList):

        try:
            logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
            result = client.source(url, headers=self.headers)
            try:
                result = json.loads(result)
                link = result['link']
            except:
                link = client.parseDOM(result,
                                       "source",
                                       attrs={"type": "application/x-mpegurl"},
                                       ret="src")[0]
            url = '%s|Referer=%s' % (link, url)
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except:
            return False
Exemplo n.º 28
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            try: import xbmc ; ip = xbmc.getIPAddress()
            except: ip = 'London'

            url = 'http://cdn.einthusan.com/geturl/%s/hd/%s/' % (url, ip)
            url = client.request(url)

            sources.append({'source': 'einthusan', 'quality': 'HD', 'provider': 'Einthusan', 'url': url,'direct':True})
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 29
0
    def get_sources(self, url):
        try:
            logger.debug('%s SOURCES URL %s' % (self.__class__, url))
            quality = ''
            sources = []

            result = ''

            links = [self.base_link_1, self.base_link_2, self.base_link_3]
            for base_link in links:
                try: result = client.source(base_link + '/' + url)
                except: result = ''
                if 'item' in result: break

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n','')

            items = client.parseDOM(result, 'content:encoded')[0]

            items = re.compile('class=\"single-heading\">(.+?)<span').findall(items)

            for i in range(0, len(items)):
                try :
                    if '720p' in items[i]:
                        quality = 'HD'
                    else:
                        quality = 'SD'
                    urls = client.parseDOM(items[i], "a", ret="href")
                    for j in range(0,len(urls)):
                        result = client.source(urls[j])
                        item = client.parseDOM(result, name="div", attrs={"style":"float:none;height:700px;margin-left:200px"})[0]
                        rUrl = re.compile('(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]').findall(item)[0][1]
                        urls[j] = rUrl
                    host = client.host(urls[0])
                    url = "##".join(urls)
                    sources.append({'source':host, 'parts': str(len(urls)), 'quality':quality,'provider':'YoDesi','url':url, 'direct':False})
                    urls = []
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 30
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            result = cloudflare.source(url)
            result = client.parseDOM(result,
                                     'table',
                                     attrs={'class':
                                            'rows differ_download'})[0]
            links = client.parseDOM(result, 'tr')

            for link in links:
                try:
                    quality = client.parseDOM(link,
                                              'span',
                                              attrs={'class':
                                                     'quality_1'})[0].lower()
                except:
                    quality = 'hd'
                if quality == 'ts': quality = 'CAM'
                elif '360p' in quality: quality = 'SD'
                elif '720p' in quality: quality = 'HD'
                else: quality = 'SD'

                url = client.parseDOM(link, 'a', ret="href")[0]
                host = client.host(url)

                sources.append({
                    'source': host,
                    'parts': '1',
                    'quality': quality,
                    'provider': 'filmywap',
                    'url': url,
                    'direct': False,
                    'debridonly': False
                })

            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 31
0
def resolve(url):
    try:
        result = client.source(url)
        data = json.loads(result)
        try :
            publisherId = data['publisherId']
            hostingId = data['hostingId']
            videoId = data['content']['videoId']

        except:
            publisherId = data['settings']['publisherId']
            hostingId = data['settings']['hostingId']
            videoId = data['settings']['videoId']

        url = 'https://cdn.video.playwire.com/%s/videos/%s/video-sd.mp4?hosting_id=%s' % (publisherId, videoId, hostingId)
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 32
0
    def resolve(self, url, resolverList=None):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            url = urlparse.urljoin(self.base_link, url)
            result = client.request(url)
        except:
            pass

        try:
            url = re.compile('"?file"?\s*=\s*"(.+?)"\s+"?label"?\s*=\s*"(\d+)p?"').findall(result)

            url = [(int(i[1]), i[0]) for i in url]
            url = sorted(url, key=lambda k: k[0])
            url = url[-1][1]

            try: u = client.request(url, output='headers', redirect=False)['Location']
            except: u = client.request(url, output='geturl')

            q = directstream.googletag(u)[0]['quality']

            url = u

            if 'requiressl=yes' in url: url = url.replace('http://', 'https://')
            else: url = url.replace('https://', 'http://')
            return url
        except:
            pass

        try:
            url = re.compile('file\s*=\s*"(.+?)"').findall(result)[0]
            if self.base_link in url: raise Exception()
            url = client.replaceHTMLCodes(url)
            return url
        except:
            pass

        try:
            url = json.loads(result)['embed_url']
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except:
            pass
Exemplo n.º 33
0
    def resolve(self, url, resolverList):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            tUrl = url.split('##')
            if len(tUrl) > 0:
                url = tUrl
            else:
                url = urlparse.urlparse(url).path

            links = []
            for item in url:
                r = resolvers.request(item, resolverList)
                if not r:
                    raise Exception()
                links.append(r)
            url = links
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except:
            return False
Exemplo n.º 34
0
def resolve(url):
    try:
        result = client.source(url)

        packed = re.search('(eval\(function.*?)\s*</script>', result,
                           re.DOTALL)
        if packed:
            js = jsunpack.unpack(packed.group(1))
        else:
            js = result

        link = re.search('file\s*:\s*"([^"]+)', js)
        if link:
            url = link.group(1)
        else:
            url = None
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 35
0
def resolve(url):
    try:
        result = client.source(url)

        packed = re.search('(eval\(function.*?)\s*</script>', result, re.DOTALL)
        if packed:
            js = jsunpack.unpack(packed.group(1))
        else:
            js = result


        link = re.search('file\s*:\s*"([^"]+)', js)
        if link:
            url = link.group(1)
        else :
            url = None
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 36
0
    def resolve(self, url, resolverList):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            tUrl = url.split('##')
            if len(tUrl) > 0:
                url = tUrl
            else :
                url = urlparse.urlparse(url).path

            links = []
            for item in url:
                r = resolvers.request(item, resolverList)
                if not r :
                    raise Exception()
                links.append(r)
            url = links
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return url
        except:
            return False
Exemplo n.º 37
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            url = urlparse.urljoin(self.base_link, url)

            try: result = client.source(url, referer=self.base_link)
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = result.replace('\n','').replace('\t','')

            quality = client.parseDOM(result, "span", attrs={"class":"calidad2"})[0]

            parts = client.parseDOM(result, "div", attrs={"class":"player_nav"})[0]
            parts = client.parseDOM(parts, "a")

            items = client.parseDOM(result, "div", attrs={"id":"player2"})[0]
            items = client.parseDOM(items, "div", attrs={"class":"movieplay"})

            for i in range(0, len(items)):
                try :
                    part = parts[i]
                    part = cleantitle.movie(part)
                    if not "full" in part or "option" in part :
                        continue

                    url = re.compile('(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]').findall(items[i])[0][1]

                    host = client.host(url)
                    sources.append({'source': host, 'parts' : '1', 'quality': quality, 'provider': 'DesiHDMovies', 'url': url, 'direct':False})
                except :
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 38
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            try: result = client.source(self.movie_link % (self.base_link_1, url))
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n','')

            categories = client.parseDOM(result, "div", attrs={"id":"extras"})
            categories = client.parseDOM(categories, "a", attrs={"rel":"category tag"})

            for category in categories:
                category = category.lower()
                if "scr" in category:
                    quality = "SCR"
                    break
                elif "bluray" in category:
                    quality = "HD"
                    break

            links = client.parseDOM(result, "div", attrs={"class":"GTTabs_divs GTTabs_curr_div"})
            links += client.parseDOM(result, "div", attrs={"class":"GTTabs_divs"})
            for link in links:
                try :
                    url = re.compile('(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]').findall(link)[0][1]
                    host = client.host(url)
                    sources.append({'source': host, 'parts': '1', 'quality': quality, 'provider': 'HDBuffer', 'url': url, 'direct':False})
                except :
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 39
0
def resolve(url):
    try:
        user, password = getCredentials()

        login_data = urllib.urlencode({'user': user, 'pass': password})
        login_link = 'http://real-debrid.com/ajax/login.php?%s' % login_data
        result = client.request(login_link, close=False)
        result = json.loads(result)
        error = result['error']
        if not error == 0: raise Exception()
        cookie = result['cookie']

        url = 'http://real-debrid.com/ajax/unrestrict.php?link=%s' % url
        url = url.replace('filefactory.com/stream/', 'filefactory.com/file/')
        result = client.request(url, cookie=cookie, close=False)
        result = json.loads(result)
        url = result['generated_links'][0][-1]
        url = '%s|Cookie=%s' % (url, urllib.quote_plus(cookie))
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 40
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            oUrl = urlparse.urljoin(self.base_link_1, url)
            try: result = client.source(oUrl)
            except: result = ''

            csrf = client.parseDOM(result, "meta", attrs={"name":"csrf-token"}, ret="content")[0]

            url = client.parseDOM(result, "div", attrs={"class":"video-wrapper"})[0]
            url = client.parseDOM(url, "source", ret="src")[0]
            url = '%s|Referer=%s' % (url, oUrl)

            sources.append({'source': "Ditto", 'parts': '1', 'quality': "HD", 'provider': 'Ditto', 'url': url, 'direct':True})
            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            return sources
Exemplo n.º 41
0
def resolve(url):
    try:
        user, password = getCredentials()

        login_data = urllib.urlencode({'user' : user, 'pass' : password})
        login_link = 'http://real-debrid.com/ajax/login.php?%s' % login_data
        result = client.request(login_link, close=False)
        result = json.loads(result)
        error = result['error']
        if not error == 0: raise Exception()
        cookie = result['cookie']

        url = 'http://real-debrid.com/ajax/unrestrict.php?link=%s' % url
        url = url.replace('filefactory.com/stream/', 'filefactory.com/file/')
        result = client.request(url, cookie=cookie, close=False)
        result = json.loads(result)
        url = result['generated_links'][0][-1]
        url = '%s|Cookie=%s' % (url, urllib.quote_plus(cookie))
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 42
0
def resolve(url):
    try:
        result = client.source(url)
        dek = EnkDekoder.dekode(result)

        if not dek == None:
            url = client.parseDOM(dek, "param", attrs={ "name":"flashvars"}, ret = "value")[0]
        else:
            dek = result
            url = re.compile('file*:*"(http.+?)"').findall(dek)[0]


        if re.search(';video_url',url):
            url = re.findall(';video_url=(.+?)&amp',url)[0]
        elif re.search('iframe src=', url):
            url = re.findall('<iframe src="(.+?)"',url)[0]

        url = url.replace('_ipod.mp4', '.flv')
        url = url.replace('preview','edit')
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 43
0
    def resolve(self, url, resolverList):
        logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
        try:
            post = {
                'el': self.user,
                'pw': self.password,
                'mobile': '',
                'callingcode': '',
                'type': 'json',
                'fbid': ''
            }
            h = {'Referer': self.base_link}

            result = client.source(self.login_link,
                                   post=urllib.urlencode(post))

            result = json.loads(result)

            t = result['success']
            logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
            return [url]
        except:
            return False
Exemplo n.º 44
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            if url == None: return self.sources

            url = '%s%s' % (self.base_link, url)

            try: result = client.source(url)
            except: result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = client.parseDOM(result, "table", attrs={"class":"table table-bordered"})[0]
            result = client.parseDOM(result, "tbody")[0]
            result = client.parseDOM(result, "tr")

            hypermode = False if control.setting('hypermode') == 'false' else True

            threads = []
            for item in result:
                if hypermode :
                    threads.append(workers.Thread(self.get_source, item))
                else :
                    self.get_source(item)

            if hypermode:
                [i.start() for i in threads]

                stillWorking = True

                while stillWorking:
                    stillWorking = False
                    stillWorking = [True for x in threads if x.is_alive() == True]
            logger.debug('%s SOURCES [%s]' % (__name__,self.sources))
            return self.sources
        except:
            return self.sources
Exemplo n.º 45
0
def resolve(url):
    try:
        url = url + '#'
        url = re.compile('http://www.mediaplaybox.com/video/(.+?)#').findall(url)[0]
        url = 'http://www.mediaplaybox.com/mobile?vinf=%s' % url

        result = client.request(url, debug=True)

        try :
            url = client.parseDOM(result, "div", attrs = {"class":"divider"})[0]
            url = client.parseDOM(url, "a", ret = "href")
            url = url[0]
            url = url.replace('_ipod.mp4', '.flv')
            return url
        except:
            pass

        try :url = client.parseDOM(result, "meta", attrs={"itemprop":"contentURL"}, ret="content")[0]
        except:
            pass
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 46
0
def resolve(url):
    try:
        rUrl = None
        hdUrl = None
        try :
            result = client.source(url)
            rUrl = client.parseDOM(result, name="source", ret="src")[0]
            videoId = getVideoID(rUrl)
            rUrl = 'http://www.apnasave.in/media/player/config_embed.php?vkey=%s' % videoId
            result = client.source(rUrl)

            try :
                hdUrl = client.parseDOM(result, name="hd")[0]
                url = hdUrl
            except:
                pass
            if hdUrl == None:
                url = client.parseDOM(result, name="src")[0]
        except:
            pass
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 47
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            sources = []

            if url == None: return sources

            oUrl = urlparse.urljoin(self.base_link_1, url)
            try:
                result = client.source(oUrl)
            except:
                result = ''

            csrf = client.parseDOM(result,
                                   "meta",
                                   attrs={"name": "csrf-token"},
                                   ret="content")[0]

            url = client.parseDOM(result,
                                  "div",
                                  attrs={"class": "video-wrapper"})[0]
            url = client.parseDOM(url, "source", ret="src")[0]
            url = '%s|Referer=%s' % (url, oUrl)

            sources.append({
                'source': "Ditto",
                'parts': '1',
                'quality': "HD",
                'provider': 'Ditto',
                'url': url,
                'direct': True
            })
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 48
0
def resolve(url):
    try:
        rUrl = None
        hdUrl = None
        try:
            result = client.source(url)
            rUrl = client.parseDOM(result, name="source", ret="src")[0]
            videoId = getVideoID(rUrl)
            rUrl = 'http://www.apnasave.in/media/player/config_embed.php?vkey=%s' % videoId
            result = client.source(rUrl)

            try:
                hdUrl = client.parseDOM(result, name="hd")[0]
                url = hdUrl
            except:
                pass
            if hdUrl == None:
                url = client.parseDOM(result, name="src")[0]
        except:
            pass
        logger.debug('%s URL [%s]' % (__name__, url))
        return url
    except:
        return
Exemplo n.º 49
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            sources = []

            if url == None: return sources

            try:
                result = client.source(url)
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n', '')

            quality = ''

            result = client.parseDOM(
                result,
                name="div",
                attrs={"class": "entry-content rich-content"})[0]
            result = client.parseDOM(result, name="p")
            try:
                host = ''
                urls = []
                result = result[1::]
                serversList = result[::2]
                linksList = result[1::2]
                for i in range(0, len(serversList)):
                    try:
                        links = linksList[i]
                        urls = client.parseDOM(links, name="a", ret="href")

                        for j in range(0, len(urls)):
                            try:
                                item = client.source(urls[j], mobile=True)
                                item = client.parseDOM(item, "td")[0]
                                item = re.compile(
                                    '(SRC|src|data-config)=\"(.+?)\"').findall(
                                        item)[0][1]
                                urls[j] = item
                            except:
                                pass
                        if len(urls) > 1:
                            url = "##".join(urls)
                        else:
                            url = urls[0]
                        host = client.host(urls[0])
                        sources.append({
                            'source': host,
                            'parts': str(len(urls)),
                            'quality': quality,
                            'provider': 'HindiLinks4U',
                            'url': url,
                            'direct': False
                        })
                    except:
                        pass
            except:
                pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 50
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))
        try:
            quality = ''
            self.sources = []

            if url == None: return self.sources

            try:
                result = client.source(url)
            except:
                result = ''

            result = result.decode('iso-8859-1').encode('utf-8')
            result = client.parseDOM(result,
                                     "div",
                                     attrs={"class": "col-md-12 mt20"})[0]

            try:
                item = client.parseDOM(result, "center")[0]

                url = re.compile('(SRC|src|data-config)=\"(.+?)\"').findall(
                    item)[0][1]
                host = client.host(url)
                self.sources.append({
                    'source': host,
                    'parts': '1',
                    'quality': quality,
                    'provider': 'iBollyTV',
                    'url': url,
                    'direct': False
                })
            except:
                pass

            hypermode = False if control.setting(
                'hypermode') == 'false' else True
            threads = []
            try:
                result = client.parseDOM(result,
                                         "div",
                                         attrs={"class":
                                                "table-responsive"})[0]
                result = client.parseDOM(result, "tbody")[0]
                result = client.parseDOM(result, "tr")
                for item in result:
                    if hypermode:
                        threads.append(workers.Thread(self.get_source, item))
                    else:
                        self.get_source(item)

                if hypermode:
                    [i.start() for i in threads]

                    stillWorking = True

                    while stillWorking:
                        stillWorking = False
                        stillWorking = [
                            True for x in threads if x.is_alive() == True
                        ]

            except:
                pass
            logger.debug('%s SOURCES [%s]' % (__name__, self.sources))
            return self.sources
        except:
            return self.sources
Exemplo n.º 51
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))

        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])

                title = data['title']

                imdb = data['imdb']

                match = title.replace('-', '').replace(':', '').replace('\'', '').replace(' ', '-').replace('--', '-').lower()

                url = '%s/movie/%s' % (self.base_link, match)

                result = client.request(url, limit='1')
                result = client.parseDOM(result, 'title')[0]

                if '%TITLE%' in result: raise Exception()

                result, headers, content, cookie = client.request(url, output='extended')

                if not imdb in result: raise Exception()


            else:

                result, headers, content, cookie = client.request(url, output='extended')

            print cookie
            auth = re.findall('__utmx=(.+)', cookie)[0].split(';')[0]
            auth = 'Bearer %s' % urllib.unquote_plus(auth)

            headers['Authorization'] = auth
            headers['X-Requested-With'] = 'XMLHttpRequest'
            headers['Referer'] = url

            u = 'http://www.putlocker.systems/ajax/embeds.php'

            action = 'getMovieEmb'

            elid = urllib.quote(base64.encodestring(str(int(time.time()))).strip())

            token = re.findall("var\s+tok\s*=\s*'([^']+)", result)[0]

            idEl = re.findall('elid\s*=\s*"([^"]+)', result)[0]

            post = {'action': action, 'idEl': idEl, 'token': token, 'elid': elid}
            post = urllib.urlencode(post)


            r = client.request(u, post=post, headers=headers)
            r = str(json.loads(r))
            r = client.parseDOM(r, 'iframe', ret='.+?') + client.parseDOM(r, 'IFRAME', ret='.+?')

            links = []

            for i in r:
                try: links += [{'source': 'gvideo', 'quality': directstream.googletag(i)[0]['quality'], 'url': i, 'direct': True}]
                except: pass

            links += [{'source': 'openload.co', 'quality': 'SD', 'url': i, 'direct': False} for i in r if 'openload.co' in i]

            links += [{'source': 'videomega.tv', 'quality': 'SD', 'url': i, 'direct': False} for i in r if 'videomega.tv' in i]


            for i in links: sources.append({'source': i['source'], 'quality': i['quality'], 'provider': 'Putlocker', 'url': i['url'], 'direct': i['direct'], 'debridonly': False})

            logger.debug('%s SOURCES [%s]' % (__name__,sources))
            return sources
        except:
            import traceback
            traceback.print_exc()
            return sources
Exemplo n.º 52
0
    def get_sources(self, url):
        logger.debug('%s SOURCES URL %s' % (self.__class__, url))

        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '')
                             for i in data])

                title = data['title']

                imdb = data['imdb']

                match = title.replace('-', '').replace(':', '').replace(
                    '\'', '').replace(' ', '-').replace('--', '-').lower()

                url = '%s/movie/%s' % (self.base_link, match)

                result = client.request(url, limit='1')
                result = client.parseDOM(result, 'title')[0]

                if '%TITLE%' in result: raise Exception()

                result, headers, content, cookie = client.request(
                    url, output='extended')

                if not imdb in result: raise Exception()

            else:

                result, headers, content, cookie = client.request(
                    url, output='extended')

            print cookie
            auth = re.findall('__utmx=(.+)', cookie)[0].split(';')[0]
            auth = 'Bearer %s' % urllib.unquote_plus(auth)

            headers['Authorization'] = auth
            headers['X-Requested-With'] = 'XMLHttpRequest'
            headers['Referer'] = url

            u = 'http://www.putlocker.systems/ajax/embeds.php'

            action = 'getMovieEmb'

            elid = urllib.quote(
                base64.encodestring(str(int(time.time()))).strip())

            token = re.findall("var\s+tok\s*=\s*'([^']+)", result)[0]

            idEl = re.findall('elid\s*=\s*"([^"]+)', result)[0]

            post = {
                'action': action,
                'idEl': idEl,
                'token': token,
                'elid': elid
            }
            post = urllib.urlencode(post)

            r = client.request(u, post=post, headers=headers)
            r = str(json.loads(r))
            r = client.parseDOM(r, 'iframe', ret='.+?') + client.parseDOM(
                r, 'IFRAME', ret='.+?')

            links = []

            for i in r:
                try:
                    links += [{
                        'source':
                        'gvideo',
                        'quality':
                        directstream.googletag(i)[0]['quality'],
                        'url':
                        i,
                        'direct':
                        True
                    }]
                except:
                    pass

            links += [{
                'source': 'openload.co',
                'quality': 'SD',
                'url': i,
                'direct': False
            } for i in r if 'openload.co' in i]

            links += [{
                'source': 'videomega.tv',
                'quality': 'SD',
                'url': i,
                'direct': False
            } for i in r if 'videomega.tv' in i]

            for i in links:
                sources.append({
                    'source': i['source'],
                    'quality': i['quality'],
                    'provider': 'Putlocker',
                    'url': i['url'],
                    'direct': i['direct'],
                    'debridonly': False
                })

            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            import traceback
            traceback.print_exc()
            return sources
Exemplo n.º 53
0
    def get_sources(self, url):
        try:
            logger.debug('%s SOURCES URL %s' % (self.__class__, url))
            quality = ''
            sources = []

            result = ''

            links = [self.base_link_1, self.base_link_2, self.base_link_3]
            for base_link in links:
                try:
                    result = client.source(base_link + '/' + url)
                except:
                    result = ''
                if 'item' in result: break

            result = result.decode('iso-8859-1').encode('utf-8')

            result = result.replace('\n', '')

            items = client.parseDOM(result, 'content:encoded')[0]

            items = re.compile('class=\"single-heading\">(.+?)<span').findall(
                items)

            for i in range(0, len(items)):
                try:
                    if '720p' in items[i]:
                        quality = 'HD'
                    else:
                        quality = 'SD'
                    urls = client.parseDOM(items[i], "a", ret="href")
                    for j in range(0, len(urls)):
                        result = client.source(urls[j])
                        item = client.parseDOM(
                            result,
                            name="div",
                            attrs={
                                "style":
                                "float:none;height:700px;margin-left:200px"
                            })[0]
                        rUrl = re.compile(
                            '(SRC|src|data-config)=[\'|\"](.+?)[\'|\"]'
                        ).findall(item)[0][1]
                        urls[j] = rUrl
                    host = client.host(urls[0])
                    url = "##".join(urls)
                    sources.append({
                        'source': host,
                        'parts': str(len(urls)),
                        'quality': quality,
                        'provider': 'YoDesi',
                        'url': url,
                        'direct': False
                    })
                    urls = []
                except:
                    pass
            logger.debug('%s SOURCES [%s]' % (__name__, sources))
            return sources
        except:
            return sources
Exemplo n.º 54
0
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
'''

import urlparse, sys
from resources.lib.libraries import logger

params = dict(urlparse.parse_qsl(sys.argv[2].replace('?', '')))

logger.debug(params)

try:
    action = params['action']
except:
    action = None
try:
    name = params['name']
except:
    name = None
try:
    title = params['title']
except:
    title = None
try:
    year = params['year']
Exemplo n.º 55
0
 def resolve(self, url, resolverList):
     logger.debug('%s ORIGINAL URL [%s]' % (__name__, url))
     url = resolvers.request(url, resolverList)
     logger.debug('%s RESOLVED URL [%s]' % (__name__, url))
     return url