예제 #1
0
    def GetFileHosts(self, id, other_names, region, language, list, lock, message_queue):

        search_term = id
        
        from entertainment.net import Net
        net = Net(cached=False)
                
        user = self.Settings().get_setting('user')
        pwd = self.Settings().get_setting('pwd')
        if user and pwd:
            
            content = net.http_POST('http://www.filmon.com/user/login', {'login':user, 'password':pwd, 'remember':'1'}, 
                headers={'Referer':self.base_url}).content
                
            net.save_cookies(self.cookie_file)

        
        content = net.http_GET(self.base_url).content.encode("utf-8")
        link = content.split('{"id":')
        import re
        for p in link:            
            if '"filmon_' in p: 
                title=p.split('"title":"')[1]
                ITEM_TITLE=title.split('"')[0]
                p_id = common.CreateIdFromString( common.CleanTextForSearch(ITEM_TITLE, strip=True) )
                if id == p_id or p_id in other_names :
                    channel_id=p.split(',')[0]
                    res=['SD','HD']
                    for quality in res:
                        channel_id_with_quality=channel_id + '__' + quality
                        self.AddLiveLink( list, ITEM_TITLE, channel_id_with_quality, language = language.title(),host='FILMON',quality=quality)
                    break
예제 #2
0
def GetPlayableUrl(amf_constant, url, experience_id, player_key, content_id=None, content_ref_id=None):       
    
    from pyamf import remoting
    from entertainment.net import Net
    net = Net()
    
    amf_request_data = BuildAmfRequest(amf_constant, url, experience_id, player_key, content_id=content_id, content_ref_id=content_ref_id)
    amf_encoded_request_data = remoting.encode(amf_request_data).read()
    
    amf_encoded_response_data = net.http_POST_BINARY(
                                    'http://c.brightcove.com', 
                                    "/services/messagebroker/amf?playerKey=" + player_key.encode('ascii'),
                                     amf_encoded_request_data, 
                                     headers = {'content-type': 'application/x-amf'} ).content
                                     
    amf_response_data = remoting.decode(amf_encoded_response_data).bodies[0][1].body
    
    playable_url = amf_response_data['programmedContent']['videoPlayer']['mediaDTO']['FLVFullLengthURL']
    
    # do something with renditions ... to get best quality
    # renditions = amf_response_data['programmedContent']['videoPlayer']['mediaDTO']['renditions']
    # sample renditions below
    '''
    'renditions': [{'videoCodec': u'ON2', 'defaultURL': u'http://brightcove03-f.akamaihd.net/3abnEnglishF_3ABN_250@100395', 
    'encodingRate': 250000, 'audioOnly': False, 'videoContainer': 1, 'mediaDeliveryType': 0, 'frameWidth': 384, 'size': 0.0, 'frameHeight': 512}, 
    {'videoCodec': u'ON2', 'defaultURL': u'http://brightcove03-f.akamaihd.net/3abnEnglishF_3ABN_600@100395', 'encodingRate': 600000, 'audioOnly': False, 
    'videoContainer': 1, 'mediaDeliveryType': 0, 'frameWidth': 480, 'size': 0.0, 'frameHeight': 640}, 
    {'videoCodec': u'ON2', 'defaultURL': u'http://brightcove03-f.akamaihd.net/3abnEnglishF_3ABN_64@100395', 'encodingRate': 64000, 'audioOnly': False, 
    'videoContainer': 1, 'mediaDeliveryType': 0, 'frameWidth': 240, 'size': 0.0, 'frameHeight': 320}, 
    {'videoCodec': u'ON2', 'defaultURL': u'http://brightcove03-f.akamaihd.net/3abnEnglishF_3ABN_1200@100395', 'encodingRate': 1200000, 'audioOnly': False, 
    'videoContainer': 1, 'mediaDeliveryType': 0, 'frameWidth': 480, 'size': 0.0, 'frameHeight': 720}]
    '''
    
    return playable_url
예제 #3
0
 def ResolveLive(self, content, url):
 
     import re        
     script_page = re.search('<script type=[\'"]text/javascript.+?id=[\'"](.+?)[\'"].+?ew=[\'"](.+?)[\'"].+?eh=[\'"](.+?)[\'"].+?src=[\'"]http://www\.castalba\.tv/js/embed\.js[\'"]', content)
     if script_page:
         channel_id = script_page.group(1)
         ew = script_page.group(2)
         eh = script_page.group(3)
         channel_url = self.base_url + 'embed.php?cid=' + channel_id + '&wh=' + ew + '&ht=' + eh
                             
         streamer = re.search('[\'"]streamer[\'"]: [\'"](.+?)[\'"]', content)
         
         if not streamer and 'castalba.tv' not in url:
             from entertainment.net import Net
             net = Net(cached=False)
             content = net.http_GET(channel_url).content
             streamer = re.search('[\'"]streamer[\'"]: [\'"](.+?)[\'"]', content)
         
         if streamer:
             streamer = streamer.group(1)
             playpath = re.search('[\'"]file[\'"]: [\'"](.+?)[\'"]', content).group(1)
             if playpath.endswith('.flv'):
                 playpath = playpath[:-4]
             elif playpath.endswith('.mp4'):
                 playpath = 'mp4:' + playpath
             
             player = re.search('[\'"]flashplayer[\'"]: [\'"](.+?)[\'"]', content).group(1)
             pageurl = channel_url
         
             resolved_media_url = streamer + ' playpath=' + playpath + ' swfUrl=' + player + ' pageUrl=' + pageurl + ' swfVfy=true live=true timeout=20'
             
             return (True, True, resolved_media_url, url)
         
     return (False, False, content, url)
예제 #4
0
    def ExtractContentAndAddtoList(self, indexer, section, url, type, list, page='', total_pages='', sort_by='', sort_order=''): 
        
        import urllib
        
        if section != 'search':
            url = urllib.unquote_plus(url)
        
        new_url = url
                
        if not new_url.startswith(self.base_url):
            new_url = re.sub("http\://.*?/", self.base_url, url)
        
        if page == '':
            page = '1'
            
        from entertainment.net import Net
        cached = False if section == 'watchlist' else True
        net = Net(cached=cached)

        content = net.http_GET(new_url + '/page/' + page).content
        
        if total_pages == '' :
            re_page =  '<span class=[\'"]{1}pages[\'"]{1}>Page 1 of ([0-9]+)</span>' #'<a class=[\'"]{1}last[\'"]{1}.+?([0-9]+)[\'"]{1}'
            total_pages = re.search(re_page, content)
            if total_pages:
                total_pages = total_pages.group(1)
            else:
                if re.search('0 items found', content):
                    page = '0'
                    total_pages = '0'
                else:
                    page = '1'
                    total_pages = '1'

        self.AddInfo(list, indexer, section, url, type, page, total_pages, sort_by, sort_order)
        
        item_re = r'(?s)<div class=[\'"]{1}inner[\'"]{1}>.+?<a href=[\'"]{1}(.+?)[\'"]{1}.+?<img src=[\'"]{1}(.+?)[\'"]{1} alt=[\'"]{1}(.+?)[\'"]{1}.+?<p>(.+?)<'

        for item in re.finditer(item_re, content):
            
            item_url = item.group(1)
            
            item_img = item.group(2)
            
            item_alt = item.group(3)
            item_name = re.sub('\([0-9]+\).*', '', item_alt)
            item_year = re.search("\(([0-9]+)", item_alt)
            if item_year:
                item_year = item_year.group(1)
                item_title = item_name + ' (' + item_year + ')'
            else:
                item_year = ''
                item_title = item_name
            
            if total_pages == '':
                total_pages = '1'
                
            item_plot = re.sub('^\s', '', common.CleanText(item.group(4), True, True) )
            
            self.AddContent(list, indexer, common.mode_File_Hosts, item_title, '', type, url=item_url, name=item_name, year=item_year, img=item_img, plot=item_plot)
예제 #5
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):  
    
        from entertainment.net import Net


        
        net = Net(user_agent=self.UA)        
        title = self.CleanTextForSearch(title) 
        name = self.CleanTextForSearch(name) 
        
        search_term = name.replace(' ','-')+'-'+year
        
        import re
        url='http://umovies.me/search/'+search_term
        try:
            net.set_cookies(self.cookie_file)
            link = net.http_GET(url).content
            print '##########################'
            print 'NET'
            
        except:
            from entertainment import cloudflare            
            link = cloudflare.solve(url,self.cookie_file,self.UA)
 
        match = re.compile('lass="movies list inset">.+?href="(.+?)">.+?class="label">(.+?)<',re.DOTALL).findall(link)

        for movie_url, TITLE in match:
            if year in TITLE:
                self.GetFileHosts('http://umovies.me'+movie_url, list, lock, message_queue)
예제 #6
0
    def GetFileHosts(self, url, list, lock, message_queue):

        import re,urllib
        from entertainment.net import Net
        
        net = Net(user_agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5')
                  

        loginurl = 'https://m.genvideos.org/video_info/html5'
        
        v=url.split('v=')[1]
        data={'v': v}
        headers = {'host': 'm.genvideos.org','origin':'https://m.genvideos.org', 'referer': url,
                   'user-agent':'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5','x-requested-with':'XMLHttpRequest'}

        first= net.http_POST(loginurl,data,headers).content

        import json

        link= json.loads(first)

        for j in link:
            quality = j.upper()
            if '360P' in quality:
                quality='SD'
                
            THEURL = urllib.unquote(link[j][3])+'**'+url
            self.AddFileHost(list, quality, THEURL,host='GOOGLEVIDEO.COM')
예제 #7
0
    def GetFileHosts(self, url, list, lock, message_queue):

        import re
        from entertainment.net import Net
        net = Net(cached=False)
     
        print url
        content = net.http_GET(url).content
        #print content
      
        match=re.compile('movie-player/(.+?)"').findall(content)



        for URL  in match:
            getcontent = net.http_GET('https://beinmovie.com/movie-player.php?'+URL).content
            #print getcontent
            try:
                 FINAL_URL=re.compile('src="(.+?)"').findall(getcontent)[0]
            except:
                 FINAL_URL=re.compile("src='(.+?)'").findall(getcontent)[0]
       
            if len(FINAL_URL)< 8:
                grabsecond =  re.compile('movie-player/(.+?)"').findall(getcontent)[1]
                getcontent = net.http_GET('https://beinmovie.com/movie-player.php?'+grabsecond).content
                try: 
                    FINAL_URL=re.compile(' src="(.+?)"').findall(getcontent)[0]
                except: 
                    FINAL_URL=re.compile(" src='(.+?)'").findall(getcontent)[0]                
            if 'movie_lang=fr' in URL:
                language= 'French'
            elif 'movie_lang=en' in URL:
                language= 'English'
            else:language=''    
            self.AddFileHost(list, '1080P', FINAL_URL,host='GOOGLEVIDEO - '+language)
예제 #8
0
    def ResolveLive(self, content, url):

        import re
        
        new_content = re.search("<script.+?id=[\"'](.+?)[\"'].+?src=[\"']http://embeds\.coolsport\.tv/(.+?)\.js[\"']", content)
        if new_content:
            
            headers = {'Referer':url}
            page_url = 'http://embeds.coolsport.tv/' + new_content.group(2) + '.php?id=' + new_content.group(1)
            
            from entertainment.net import Net
            net = Net()            
            content = net.http_GET( page_url, headers=headers ).content
            
            return (False, True, content, page_url)
        
        new_content = re.search("<iframe.+?src=[\"'](http://www.coolsport.tv/.+?)[\"']", content)                
        if new_content:
        
            page_url = new_content.group(1)

            from entertainment.net import Net
            net = Net()            
            content = net.http_GET( page_url, headers={'Referer':url} ).content
            
            new_content = re.search("<script.+?id=[\"'](.+?)[\"'].+?src=[\"']http://embeds\.coolsport\.tv/(.+?)\.js[\"']", content)
            
            headers = {'Referer':page_url}
            page_url = 'http://embeds.coolsport.tv/' + new_content.group(2) + '.php?id=' + new_content.group(1)
            content = net.http_GET( page_url, headers=headers ).content
            
            return (False, True, content, page_url)
            
        return (False, False, content, url)
예제 #9
0
    def ExtractContentAndAddtoList(self, indexer, section, url, type, list, page='', total_pages='', sort_by='', sort_order=''): 

        new_url = url.replace('.so/','.la/')
        if page == '':
            page = '1'
        else:
            page = str( int(page) )
            new_url = new_url + page

        
        from entertainment.net import Net
        
        net = Net()
        import urllib
        url = urllib.unquote_plus(url)
        new_url = self.base_url+section+'/'
        
        html = net.http_GET(new_url+str(page)).content
        if total_pages == '':
            lastlist = '/'+section+'/'
            r= ">Next</a>&nbsp;&nbsp;&nbsp;<a href='%s(.+?)'>Last</a>" % lastlist
            total_pages = re.compile(r).findall(html)[0]
            
        self.AddInfo(list, indexer, section, '', type, str(page), total_pages)

        if section == 'featured-movies' or 'new-releases' or 'latest-added' or 'latest-hd-movies' or 'most-viewed' or 'most-voted' or 'az' or 'genres':
            match=re.compile('<h1><a href="(.+?)" target="_self" title="(.+?) \((.+?)\)">',re.DOTALL).findall(html)
            for url,name,year in match:
                name = self.CleanTextForSearch(name)
                self.AddContent(list,indexer,common.mode_File_Hosts,name + ' (' + year +')' ,'',type, url='http://www.movie25.ag'+url, name=name, year=year)
예제 #10
0
    def GrabMailRu(self,url,list):
        print 'RESOLVING VIDEO.MAIL.RU VIDEO API LINK'
        
        from entertainment.net import Net
        net = Net(cached=False)

        
        import json,re
        items = []

        data = net.http_GET(url).content
        cookie = net.get_cookies()
        for x in cookie:

             for y in cookie[x]:

                  for z in cookie[x][y]:
                       
                       l= (cookie[x][y][z])
                       
        r = '"key":"(.+?)","url":"(.+?)"'
        match = re.compile(r,re.DOTALL).findall(data)
        for quality,stream in match:
            test = str(l)
            test = test.replace('<Cookie ','')
            test = test.replace(' for .my.mail.ru/>','')
            url=stream +'|Cookie='+test
            QUALITY=quality.upper()
            if '480' in QUALITY:
                QUALITY = '720P'
            self.AddFileHost(list, QUALITY, url,host='WATCH-TVSERIES.NET') 
예제 #11
0
    def GetContent(self, indexer, url, title, name, year, season, episode, type, list):      
        import urllib
        url = urllib.unquote_plus(url)
        title = urllib.unquote_plus(title)
        name = urllib.unquote_plus(name)
        name = (name).lower()
        
        import re
        from entertainment.net import Net
        net = Net(cached=False)
        net.set_cookies(self.cookie_file)

        content = net.http_GET(url).content
        
        if type == 'tv_seasons':
            match=re.compile('<br><br><b>(.+?)x').findall(content)
            for seasonnumber in match:                
                item_title = 'Season ' + seasonnumber
                item_id = common.CreateIdFromString(title + ' ' + item_title)
                

                self.AddContent(list, indexer, common.mode_Content, item_title, item_id, 'tv_episodes', url=url, name=name, season=seasonnumber)
               
        elif type == 'tv_episodes':
            match=re.compile("<br><b>"+season+"x(.+?)\s-\s<a style=.+?color.+?\shref='/(.+?)'>(.+?)</a>").findall(content)
            for item_v_id_2,url,item_title  in match:
                season = "0%s"%season if len(season)<2 else season
                item_v_id_2 = "0%s"%item_v_id_2 if len(item_v_id_2)<2 else item_v_id_2
                item_url = self.base_url + url
                item_v_id_2 = str(int(item_v_id_2))
                
                self.AddContent(list, indexer, common.mode_File_Hosts, item_title, item_id, type, url=item_url, name=name, season=season, episode=item_v_id_2)
예제 #12
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):                 
        
        from entertainment.net import Net
        import re
        #net = Net(cached=False)
        name = self.CleanTextForSearch(name)
        import urllib
        name = name.lower()
        net = Net()        
               
        if type == 'movies':
            


            title = self.CleanTextForSearch(title) 
            name = self.CleanTextForSearch(name)

            URL= self.base_url+'?type=movie&keywords=%s' %name.replace(' ','+')
            content = net.http_GET(URL).content
            
            match =re.compile('href="(.+?)" target="_blank"><img class="image" src=".+?" alt="(.+?)"').findall(content)
            for item_url , name in match:
                if year in name:
                    print item_url
                    self.GetFileHosts(item_url, list, lock, message_queue)

        '''elif type == 'tv_episodes':
예제 #13
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):                 
        
        from entertainment.net import Net
        import re,urllib,json

        net = Net(user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
        name = self.CleanTextForSearch(name)

        search_term = name.lower()
        linkme='http://my.mail.ru/cgi-bin/my/ajax?user=&ajax_call=1&func_name=video.get_list&mna=&mnb=&arg_tag=%s&arg_duration=long&arg_sort=&arg_sort_order=desc&arg_hd_exists=&arg_unsafe=0&arg_type=search&arg_offset=0&arg_limit=300'
  
        new_url=linkme % (name.replace(' ','+').lower()+'+'+year)
        response= net.http_GET(new_url).content
        link=json.loads(response)[-1]
        data=link['items']
        for i in data:
            _url_=i['ExternalID']
            title=i['Title']
            time=i['DurationFormat']
            if len(time)>5:
                if name.lower() in title.lower():
                    if year in title:
                        
                        
                        movie_url='http://videoapi.my.mail.ru/videos/'+_url_+'.json'
                        print movie_url
                        self.GetFileHosts(movie_url, list, lock, message_queue,title)                           
예제 #14
0
    def Resolve(self, url):
        
        import re        
        from entertainment.net import Net
        net = Net(user_agent=self.UA)
        url=url.replace('muchmovies.org','umovies.me')
        try:
            net.set_cookies(self.cookie_file)
            content = net.http_GET(url).content
            print '##########################'
            print 'NET'
        except:
            from entertainment import cloudflare
            content=cloudflare.solve(url,self.cookie_file,self.UA)
        content = content.replace('\n','')
        
        link=content.split('href=')
        for p in link:

            if '.mp4' in p:
                resolved_media_url = re.compile('"(.+?)"').findall(p)[0]
                host =resolved_media_url.split('//')[1]
                host = host.split('/')[0]
                cookie =open(self.cookie_file).read()
                __cfduid =re.compile('__cfduid=(.+?);').findall(cookie)[0]
                cf_clearance =re.compile('cf_clearance="(.+?)"').findall(cookie)[0]
                COOKIE = '__cfduid=%s; cf_clearance=%s' % (__cfduid,cf_clearance)

                resolved_media_url = resolved_media_url+'|User-Agent='+self.UA+'&Referrer='+url+'&host='+host+'&Cookie='+COOKIE
                print resolved_media_url
        return resolved_media_url
예제 #15
0
 def Resolve(self, url):
     
     from entertainment.net import Net
     net = Net()
     
     if 'playsominaltv.com' in url:
         
         net._cached = False
         
         premium_url = 'http://www.playsominaltv.com/login/?redirect_to=' + url
         content = net.http_GET(premium_url, headers={'Referer':url}).content
         params={'log':self.Settings().get_setting('user'), 'pwd':self.Settings().get_setting('pass'), 'wp-submit':'1'}
         for hidden_param in re.finditer('(<input.+?type=[\'"]{1}hidden[\'"]{1}.+?/>)', content):
             hidden_param_input = hidden_param.group(1)
             param_name = re.search('name=[\'"]{1}(.+?)[\'"]{1}', hidden_param_input).group(1)
             param_value = re.search('value=[\'"]{1}(.+?)[\'"]{1}', hidden_param_input).group(1)
             params.update( { param_name : param_value } )
         content = net.http_POST('http://www.playsominaltv.com/login/',params,headers={'Referer':premium_url}).content
     
     if 'playsominaltv.com' in url or 'sominaltvfilms.com' in url or 'desionlinetheater.com' in url:
         content = net.http_GET(url).content
         content=dekode(content)
         if content:
             source_url=re.search('<iframe.+?src.+?(http.+?)[\'"\\\\]{1}', content)
             if source_url:
                 return MovieSource.Resolve(self, source_url.group(1))
     else:
         return MovieSource.Resolve(self, url)
         
     return url
예제 #16
0
    def Search(self, indexer, keywords, type, list, lock, message_queue, page='', total_pages=''): 
        
        if page and len(page) > 0 and total_pages and len(total_pages) > 0 and int(page) > int(total_pages):
            return
        
        if page=='': page='1'
        
        from entertainment.net import Net
        net = Net()
        search_url ='%spage/%s/?s=%s' %(self.base_url, page, keywords.replace(' ','+'))
        print search_url
        import re
        
        html = net.http_GET(search_url).content
        if total_pages == '':
            r= '<a class="last" href="http://filmstream.me/page/(.+?)/'
            try:
                total_pages = re.compile(r).findall(html)[0]
            except:
                total_pages = '1'
            
                
        self.AddInfo(list, indexer, 'search', self.base_url, type, str(page), total_pages)

        for item in re.finditer(r'<h2> <a href="(.+?)">(.+?)</a> </h2>\s*<div class=".+?">.+?</div>\s*</div>\s*<a href=".+?" title="">\s*<img src="(.+?)" alt="(.+?)"',html,re.I):
            url=item.group(1)
            name=item.group(4)
            name=name.split('Stream')[0]
            image=item.group(3)
            name = self.CleanTextForSearch(name)
            self.AddContent(list,indexer,common.mode_File_Hosts,name,'',type, url=url, name=name, img=image, plot='') 
예제 #17
0
    def GetFileHosts(self, url, list, lock, message_queue):
        from entertainment.net import Net

        net = Net(do_not_cache_if_any=do_no_cache_keywords_list)

        custom_url = self.get_url()

        if self.Settings().get_setting("proxy") == "true":
            import socks

            (proxy, port) = self.get_proxy()
            socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy, port)
            net.set_socket_class(socks.socksocket)

        content = common.unescape(common.str_conv(net.http_GET(url).content))

        import re

        for sq in re.finditer(r"<span class=quality_(.+?)>.+?<a href=\".+?external.+?url=(.+?)&", content):

            quality = sq.group(1).upper()

            if quality == "UNKNOWN":
                continue

            import base64

            host_url = base64.b64decode(sq.group(2))
            if not "affbuzz" in host_url.lower():
                self.AddFileHost(list, quality, host_url)
예제 #18
0
파일: movie4u_hrv.py 프로젝트: bialagary/mw
    def Resolve(self, url):

        from entertainment.net import Net
        import re
        import time

        net = Net()

        try:

            common.addon.show_small_popup('[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' + self.name.upper() + '[/B][/COLOR]',
                                          'Resolving', 700, self.icon)
        
            content = net.http_GET(url).content

            new_url = re.search('streamContinueButton.+?href="(.+?)"', content,re.I)

            from entertainment import istream
            html = net.http_GET(new_url.group(1)).content
            r = re.search(r'<iframe\s*src="(.+?)"\s*allowfullscreen',html,re.I|re.DOTALL)
            
            if r:
                play_url = istream.ResolveUrl(r.group(1))
                return play_url

            

        except Exception, e:
            common.addon.log(self.name.upper() + ' - Exception occured: %s' % e)
            common.addon.show_small_popup('[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' + self.name.upper() + '[/B][/COLOR]', '[COLOR red]'+str(e)+'[/COLOR]', 700, self.icon)                
            return None
예제 #19
0
 def Handle(self, url, html, params=None):
         
     import re
     
     recaptcha = re.search('<script type=[\'"]{1}text/javascript[\'"]{1} src=[\'"]{1}(http://www.google.com/recaptcha/api/.+?)[\'"]{1}', html)
     
     if recaptcha:
         
         recaptcha = recaptcha.group(1)
         
         from entertainment.net import Net
         net = Net(cached=False)
                     
         if 'recaptcha_ajax' in recaptcha:
             import random
             recaptcha = 'http://www.google.com/recaptcha/api/challenge?k=%s&ajax=1&cachestop=%s' % ( params['site'], str(random.random()) )
         
         html = net.http_GET( recaptcha ).content
         
         import re
         hugekey=re.search('challenge \: [\'"]{1}(.+?)[\'"]{1}', html).group(1)
         
         solution = self.Solve(net.http_GET("http://www.google.com/recaptcha/api/image?c=%s" % hugekey ).content)
         
         if solution:
             return {'status':'ok', 'captcha_type':self.name, 'challenge':hugekey, 'captcha':solution, 'recaptcha_challenge_field': hugekey,'recaptcha_response_field': solution}
         else:
             return {'status':'error', 'message':'Image-Text not entered', 'captcha_type':self.name}
     
     return None
예제 #20
0
    def GetFileHosts(self, id, other_names, region, language, list, lock, message_queue):
        

        
        from entertainment.net import Net
        net = Net()

        clean_id= id.replace('_',' ').lower()
        
        for blogs in self.BLOG:

            import re
            
            r = self.base_url % blogs
            
            content = net.http_GET(r).content
            

            POSTER=re.compile('<poster>(.+?)</poster>').findall(content)[0]

            match=re.compile('<title>(.+?)</title>.+?link>(.+?)</',re.DOTALL).findall(content)
 
            
            for name, RTMP in match:
                if clean_id.replace(' ','') in name.replace(' ','').lower():

                        self.AddLiveLink( list, name, RTMP, host=POSTER)
예제 #21
0
    def ResolveLive(self, content, url):
    
        import re

        new_content = re.search('src=[\'"]{1}http://liveall\.tv/player\.php\?streampage=(.+?)[&\'"]{1}', content)

        if new_content:
        
            page_url = 'http://liveall.tv/player.php?streampage=%s' % new_content.group(1)
            
            from entertainment.net import Net
            net = Net()
            content = net.http_GET( page_url, headers={'Referer':url} ).content
            
            var_a = int(re.search('var a = ([0-9]*);', content).group(1))
            var_b = int(re.search('var b = ([0-9]*);', content).group(1))
            var_c = int(re.search('var c = ([0-9]*);', content).group(1))
            var_d = int(re.search('var d = ([0-9]*);', content).group(1))
            var_f = int(re.search('var f = ([0-9]*);', content).group(1))
            var_v_part = re.search('var v_part = [\'"]{1}(.+?)[\'"]{1};', content).group(1)
            
            swf_url = 'http://wds.liveall.tv/jwplayer.flash.swf'
            
            #playpath = play_media.group(2)
            
            streamer = 'rtmp://%s.%s.%s.%s%s' % ( str(var_a/var_f), str(var_b/var_f), str(var_c/var_f), str(var_d/var_f), var_v_part  )
            ''' playpath=' + playpath + '''
            content = streamer + ' swfUrl=' + swf_url + ' pageUrl=' + page_url + ' timeout=15 live=1'
            
            return (True, True, content, url)
                            
        return (False, False, content, url)
예제 #22
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):                 
        
        from entertainment.net import Net
        import re,json
        net = Net(cached=False,user_agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5')
        name = self.CleanTextForSearch(name)


        
        main_url= self.API+'type=search&os=Android&v=2.0.1&k=0&keyword=%s' %(name.replace(' ','+'))

        
        content=net.http_GET(main_url).content
        

        import json

        link=json.loads(content)
        


        data=link['data']
        for field in data['films']:
            NAME=field['title'].encode('utf8')
            item_url=str(field['id'])
            if NAME==name:
 
                self.GetFileHosts(item_url, list, lock, message_queue,season,episode)
예제 #23
0
    def ResolveLive(self, content, url):
    
        import re
        from entertainment.net import Net
        net = Net()
        
        new_content = re.search("<script.+?fid=[\"'](.+?)[\"'].+?src=[\"']http://www\.castup\.me/js/embed\.js[\"']", content)
        
        if not new_content:
            new_content = re.search('src=[\'"]{1}(http://www\.castup\.me/channel\.php\?id=.+?)[\'"]{1}', content)
            if new_content:
                new_url = new_content.group(1)
                new_content = net.http_GET( new_content.group(1), headers={'Referer':url} ).content
                url = new_url
                new_content = re.search("<script.+?fid=[\"'](.+?)[\"'].+?src=[\"']http://www\.castup\.me/js/embed\.js[\"']", new_content)

        if new_content:
        
            page_url = 'http://www.castup.me/embed.php?channel=' + new_content.group(1)
            content = net.http_GET( page_url, headers={'Referer':url} ).content

            swf_url = re.search( "SWFObject\([\"'](.+?)[\"']" ,content).group(1)
            if 'castup.me' not in swf_url:
                swf_url = 'http://www.castup.me%s' % swf_url
            
            playpath = re.search( "so.addVariable\([\"']file[\"'].+?[\"'](.+?)[\"']" ,content).group(1)
            streamer = re.search( "so.addVariable\([\"']streamer[\"'].+?[\"'](.+?)[\"']" ,content).group(1)
            token = re.search( "so.addVariable\([\"']token[\"'].+?[\"'](.+?)[\"']" ,content).group(1)
            
            content = streamer + ' playpath=' + playpath + ' swfUrl=' + swf_url + ' pageUrl=' + page_url + ' token=' + token + ' swfVfy=1 timeout=15 live=1'
            
            return (True, True, content, url)
            
        return (False, False, content, url)
예제 #24
0
    def GetFileHosts(self, id, other_names, region, language, list, lock, message_queue):
        
        from entertainment.net import Net
        import re

        net = Net(cached=False)        


        stream_id = id.replace('_','').lower()
        
 
        
        NEW_URL= "http://d3gbuig838qdtm.cloudfront.net/json/tvp/channels.json"
        
        html = net.http_GET(NEW_URL).content
        
        
        import json
        
        link=json.loads(html)

        data=link['data']
        

        for field in data:
            name= field['channel']['name'].encode("utf-8")

            url=field['channel']['id']
            if stream_id in name.replace(' ','').lower():
                
                self.AddLiveLink( list, id.replace('_',' ').upper(), url, language = language.title(),host= 'TVPLAYER',quality='HD')
예제 #25
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):

        import urllib2
        import re
        from entertainment.net import Net
        net = Net()

        title = self.CleanTextForSearch(title) 
        name = self.CleanTextForSearch(name)

        season_pull = "0%s"%season if len(season)<2 else season
        episode_pull = "0%s"%episode if len(episode)<2 else episode
        
        tv_url='http://www.myvideolinks.eu/index.php?s=%s+S%sE%s' %(name.replace(' ','+'),season_pull,episode_pull)
        movie_url='http://www.myvideolinks.eu/index.php?s=%s+%s' %(name.replace(' ','+'),year)

        if type == 'movies':
            html = net.http_GET(movie_url).content
            for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"',html,re.I):
                url = item.group(1)                
                self.GetFileHosts(url, list, lock, message_queue)

        elif type == 'tv_episodes':
            html = net.http_GET(tv_url).content
            for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"',html,re.I):
                url = item.group(1)                
                self.GetFileHosts(url, list, lock, message_queue)
예제 #26
0
파일: yify_mvs.py 프로젝트: bialagary/mw
    def GetFileHosts(self, url, list, lock, message_queue,name): 
        
        import re,json
        
        from entertainment.net import Net

        net = Net(cached=False)
        content = net.http_GET(url).content
        links=re.compile('pic=([^&]+)').findall (content)
        links = [x for y,x in enumerate(links) if x not in links[:y]]

        for i in links:

            data = {'url': i, 'fv': '16'}
            headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
            html=   net.http_POST('http://yify.tv/player/pk/pk/plugins/player_p2.php',data,headers=headers).content
            result = json.loads(html)     
            for field in result:

                     if field['width']== 1920:
                         url = field['url']
                         res= '1080P'
                         host=url.split('://')[1]
                         host=host.split('/')[0].replace('www','')
                         self.AddFileHost(list, res, url,host=host.upper())
                     if field['width']== 1280:
                         url = field['url']
                         res= '720P'
                         host=url.split('://')[1]
                         host=host.split('/')[0].replace('www','')                       
                         self.AddFileHost(list, res, url,host=host.upper())
예제 #27
0
    def GetFileHosts(self, url, list, lock, message_queue):
        import re

        from entertainment.net import Net
        net = Net()

        content = net.http_GET(url).content
        
        r = '<li><a href="(http://.+?)">(.+?)</a></li>'
        match  = re.compile(r).findall(content)
        match1 = re.compile('rel="bookmark" title=".+?">(.+?)</a></h1>').findall(content)
        
        urlselect  = []

        for url, host in match:
            for res in match1:
                if url not in urlselect:
                    urlselect.append(url)
                    
                    quality = 'SD'
                    res_lower = '.' + res.lower() + '.'
                    for quality_key, quality_value in common.quality_dict.items():
                        if re.search('[^a-zA-Z0-0]' + quality_key + '[^a-zA-Z0-0]', res_lower):
                            quality = quality_value
                            break
                    if 'myvideolinks' in url:
                        url= False
                        continue
                    if 'http://i.imgur.com/' in url:
                        url=False
                        continue
                    
                    self.AddFileHost(list, quality, url, host=host.upper())
예제 #28
0
    def Resolve(self, url):
        import re        
        from entertainment.net import Net
        
        episode=url.split('|')[1]
        url=url.split('|')[0]


        net = Net(do_not_cache_if_any=do_no_cache_keywords_list)
        headers={'Referer':'http://www.kissdrama.net/results.php', 'X-Requested-With':'XMLHttpRequest','Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
        key = url.split('=')[1]

        form_data={ 'c':'result', 'a':'getplayerinfo', 'p':'{"KeyWord":"%s","Episode":%s,"Part":"01"}' % (key,episode) }
        content = net.http_POST('http://www.kissdrama.net/index.php', form_data, headers).content
        
        match=re.compile('src="http(.+?)"').findall(content)[0]
        
        if 'docs.google.com' in match:
            match='http'+match
            headers={'Referer':str(match), 'Host':'docs.google.com','User-Agent':'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0','Connection':'keep-alive','Accept-Encoding':'gzip, deflate','Accept-Language':'en-US,en;q=0.5','Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'}
            
            html = net.http_GET(match, headers=headers).content.encode("utf-8").rstrip()
            video_url=re.search('fmt_stream_map".+?(http.+?),', html).group(1)
            video_url=video_url.replace('|', '').replace('\u003d','=').replace('\u0026','&')

            return video_url

        else:
            match='http'+match
            return match
예제 #29
0
 def Resolve(self, url):
     try:
         from entertainment.net import Net
         net = Net(cached=False)
         
         import os
         cookie_file = os.path.join(common.cookies_path, 'realdebrid.lwp')
         
         if net.set_cookies(cookie_file) == False:
             import urllib
             credentials = urllib.urlencode({'user' : self.Settings().get_setting('realdebrid-username'), 'pass' : self.Settings().get_setting('realdebrid-password')})
             content = net.http_GET(self.base_url + 'ajax/login.php?' + credentials ).content
             net.save_cookies(cookie_file)
         elif 'My Account' not in net.http_GET(self.base_url).content:
             import urllib
             credentials = urllib.urlencode({'user' : self.Settings().get_setting('realdebrid-username'), 'pass' : self.Settings().get_setting('realdebrid-password')})
             content = net.http_GET(self.base_url + 'ajax/login.php?' + credentials ).content
             net.save_cookies(cookie_file)
             
         content = net.http_GET(self.base_url + 'ajax/unrestrict.php?link=' + url).content
         import re
         r = re.search('[\'"]{1}main_link[\'"]{1}\:[\'"]{1}(.+?)[\'"]{1}', content)
         if r:                
             stream_url = r.group(1)
             if stream_url:
                 return stream_url.replace('\/', '/')
     except Exception, e:
         common.addon.log(self.name.upper() + ' - Exception occured: %s' % e)
         common.addon.show_small_popup('[B][COLOR white]' + self.name.upper() + '[/COLOR][/B]', '[COLOR red]Exception occured, check logs.[/COLOR]')                
         return None
예제 #30
0
 def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):  
 
     from entertainment.net import Net
     
     net = Net()        
     title = self.CleanTextForSearch(title) 
     name = self.CleanTextForSearch(name) 
     
     search_term = name.replace(' ','%20')
     search_term = search_term.lower()
     
     search_term = search_term.replace('the','')
     
     import re
     url='http://clickplay.to/search/'+search_term+'?'
     
     link=net.http_GET(url).content
     if 'Unfortunately there are no results right now' in link:
         return None
     match = re.compile('<div id="video_list">\s*<a href="(.+?)" class="article" data="(.+?)">.+?<span class="article-title">(.+?) \((.+?)\)</span>',re.DOTALL).findall(link)
     
     for tv_url , data, tvshowname, tvshowyear  in match:
         
         if year in tvshowyear:
             season_pull = "0%s"%season if len(season)<2 else season
             episode_pull = "0%s"%episode if len(episode)<2 else episode
             url=tv_url+'season-'+season+'/'
             html=net.http_GET(url).content
             link_url = re.compile('<a href="(.+?)" title=".+?Episode '+episode+' / .+?" class=".+?">').findall(html)[0]
             
             self.GetFileHosts(link_url, list, lock, message_queue)
예제 #31
0
    def GetFileHosts(self, id, other_names, region, language, list, lock,
                     message_queue):

        from entertainment.net import Net
        import re

        net = Net(cached=False)
        stream_id = None
        id = id.replace('bbc_one', 'bbc1').replace('bbc_two', 'bbc2').replace(
            'bbc_three',
            'bbc3').replace('bbc_four',
                            'bbc4').replace('news_ch', 'bbc_news24').replace(
                                'bbc_parliament',
                                'parliament').replace('bbc_alba', 'alba')

        stream_id = id

        if not stream_id: return

        NEW_URL = "http://a.files.bbci.co.uk/media/live/manifests/hds/pc/llnw/%s.f4m" % stream_id
        html = net.http_GET(NEW_URL).content

        match = re.compile('<media href="(.+?)" bitrate="(.+?)"/>').findall(
            html.replace('amp;', ''))
        for url, res in match:
            if int(res) > 800:
                res = 'HD'

            else:
                res = 'SD'

            self.AddLiveLink(list,
                             id.replace('_', ' ').upper(),
                             url,
                             language=language.title(),
                             host='BBC iPLAYER ',
                             quality=res)
예제 #32
0
    def GrabMailRu(self, url, list, title):

        from entertainment.net import Net
        net = Net(cached=False)

        import json, re
        items = []

        data = net.http_GET(url).content
        cookie = net.get_cookies()

        for x in cookie:
            if '.my.mail.ru' in x:
                for y in cookie[x]:
                    for z in cookie[x][y]:
                        l = (cookie[x][y][z])

        link = json.loads(data)
        data = link['videos']
        for j in data:
            stream = j['url']
            if not 'http:' in stream:
                stream = 'http:' + stream
            Q = j['key'].upper()
            test = str(l)
            test = test.replace('<Cookie ', '')
            test = test.replace(' for .my.mail.ru/>', '')
            url = stream + '|Cookie=' + test
            if Q == '1080P':
                Q = '1080P'
            elif Q == '720P':
                Q = '720P'
            elif Q == '480P':
                Q = 'HD'
            else:
                Q = 'SD'
            self.AddFileHost(list, Q, url, host=title.title())
예제 #33
0
    def ResolveLive(self, content, url):

        import re

        new_content = re.search(
            "<script.+?src=[\"'](http://www\.serverhd\.eu/channel\.php.+?)[\"']",
            content)

        if new_content:
            page_url = new_content.group(1)

            from entertainment.net import Net
            net = Net()
            content = net.http_GET(page_url, headers={'Referer': url}).content

            new_content = re.search(
                "<iframe.+?src=[\"'](http://www\.serverhd\.eu/embed\.php.+?)[\"']",
                content)
            page_url = new_content.group(1)
            content = net.http_GET(page_url, headers={'Referer': url}).content

            import base64
            swf_url = re.search("SWFObject\([\"'](.+?)[\"']", content).group(1)
            playpath = base64.b64decode(
                re.search(
                    "<input type=[\"']hidden[\"'] id=[\"']ssx1[\"'] value=[\"'](.+?)[\"']",
                    content).group(1))
            streamer = base64.b64decode(
                re.search(
                    "<input type=[\"']hidden[\"'] id=[\"']ssx4[\"'] value=[\"'](.+?)[\"']",
                    content).group(1))

            content = streamer + ' playpath=' + playpath + ' swfUrl=' + swf_url + ' pageUrl=' + page_url + ' timeout=20 live=true'

            return (True, True, content, url)

        return (False, False, content, url)
예제 #34
0
    def GrabMailRu(self, url, list):
        print url

        from entertainment.net import Net
        net = Net(cached=False)

        import json, re
        items = []

        data = net.http_GET(url).content
        cookie = net.get_cookies()
        for x in cookie:

            for y in cookie[x]:

                for z in cookie[x][y]:

                    l = (cookie[x][y][z])

        r = '"key":"(.+?)","url":"(.+?)"'

        match = re.compile(r, re.DOTALL).findall(data)
        for quality, stream in match:
            test = str(l)
            test = test.replace('<Cookie ', '')
            test = test.replace(' for .my.mail.ru/>', '')
            url = stream + '|Cookie=' + test
            Q = quality.upper()
            if Q == '1080P':
                Q = '1080P'
            elif Q == '720P':
                Q = '720P'
            elif Q == '480P':
                Q = 'HD'
            else:
                Q = 'SD'
            self.AddFileHost(list, Q, url, host='MAIL.RU')
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        import json
        from entertainment.net import Net
        net = Net(cached=False)

        name = self.CleanTextForSearch(name)
        data = {
            'DeviceId': '6a48880da9855891b8baad7d7b34570d998b28c5',
            'Hash': 'f93e3156637c9fce37154e2d091bca8a',
            'Key': 'AA9FSK1323X3F',
            'Pagesize': '-1',
            'Keyword': name,
            'StartIndex': '0',
            'Version': '5'
        }

        link = json.loads(
            net.http_POST(self.SEARCHLINK, data, headers=self.HEADERS).content)

        data = link['Data']

        for field in data:
            TITLE = field['Name'].encode('utf8')
            iconimage = field['ThumbnailUrl'].encode('utf8')
            id = field['Link']
            if not id:
                id = field['Id']
                if name.lower() in self.CleanTextForSearch(TITLE.lower()):
                    self.GetFileHosts(id, list, lock, message_queue, type,
                                      season, episode)
            else:
                if name.lower() in self.CleanTextForSearch(TITLE.lower()):
                    if year in TITLE:
                        self.GetFileHosts(id, list, lock, message_queue, type,
                                          season, episode)
예제 #36
0
    def Resolve(self, url):

        from entertainment.net import Net
        import re
        import time

        net = Net()

        try:

            common.addon.show_small_popup(
                '[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' +
                self.name.upper() + '[/B][/COLOR]', 'Resolving', 700,
                self.icon)

            content = net.http_GET(url).content

            new_url = re.search('streamContinueButton.+?href="(.+?)"', content,
                                re.I)

            from entertainment import istream
            html = net.http_GET(new_url.group(1)).content
            r = re.search(r'<iframe\s*src="(.+?)"\s*allowfullscreen', html,
                          re.I | re.DOTALL)

            if r:
                play_url = istream.ResolveUrl(r.group(1))
                return play_url

        except Exception, e:
            common.addon.log(self.name.upper() +
                             ' - Exception occured: %s' % e)
            common.addon.show_small_popup(
                '[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' +
                self.name.upper() + '[/B][/COLOR]',
                '[COLOR red]' + str(e) + '[/COLOR]', 700, self.icon)
            return None
예제 #37
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        import re
        from entertainment.net import Net
        net = Net(cached=False)

        name = self.CleanTextForSearch(name.lower())

        THE_URL = 'http://moviehdmax.com/search/result?s=%s&selected=false' % name.replace(
            ' ', '+')

        headers = {
            'Host': 'moviehdmax.com',
            'Connection': 'keep-alive',
            'Accept': 'text/plain, */*; q=0.01',
            'X-Requested-With': 'XMLHttpRequest',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
            'Accept-Encoding': 'gzip, deflate, sdch',
            'Accept-Language': 'en-US,en;q=0.8'
        }

        content = net.http_GET(THE_URL, headers=headers).content
        net.save_cookies(self.cookie_file)
        match = re.compile('<a href="\.\./(.+?)">(.+?)</a>').findall(content)
        for url, title in match:
            item_url = 'http://moviehdmax.com/' + url
            if name in self.CleanTextForSearch(title.lower()):
                if type == 'tv_episodes':
                    if 'season-' + season in item_url:
                        self.GetFileHosts(item_url, list, lock, message_queue,
                                          type, season, episode)
                else:
                    if year in title:
                        self.GetFileHosts(item_url, list, lock, message_queue,
                                          type, season, episode)
예제 #38
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net
        import re, urllib, json

        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'
        )
        name = self.CleanTextForSearch(name)

        search_term = name.lower()
        linkme = 'http://my.mail.ru/cgi-bin/my/ajax?user=&ajax_call=1&func_name=video.get_list&mna=&mnb=&arg_tag=%s&arg_duration=long&arg_sort=&arg_sort_order=desc&arg_hd_exists=&arg_unsafe=0&arg_type=search&arg_offset=0&arg_limit=300'

        new_url = linkme % (name.replace(' ', '+').lower() + '+' + year)
        response = net.http_GET(new_url).content
        link = json.loads(response)[-1]
        data = link['items']
        for i in data:
            _url_ = i['UrlHtml'].replace('video/',
                                         '').replace('.html', '.json')
            title = i['Title']
            time = i['DurationFormat']
            if len(time) > 5:
                if name.lower().replace(
                        'the ', '') in title.lower() or name.lower().replace(
                            'the ', '').replace(
                                ' ', '.') in title.lower().replace(' ', '.'):
                    if year in title:
                        # /inbox/nichols91/video/_myvideo/21.html
                        #http://videoapi.my.mail.ru/videos/inbox/nichols91/_myvideo/21.json
                        movie_url = 'http://videoapi.my.mail.ru/videos/' + _url_
                        #print movie_url
                        self.GetFileHosts(movie_url, list, lock, message_queue,
                                          title)
예제 #39
0
    def GetFileHosts(self, url, list, lock, message_queue, REF):
        import re
        from entertainment.net import Net
        net = Net(cached=False)

        headers = {
            'Host':
            '123movies4u.co',
            'Origin':
            'https://123movies4u.co',
            'Referer':
            REF,
            'Connection':
            'keep-alive',
            'Content-Type':
            'application/x-www-form-urlencoded; charset=UTF-8',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'
        }

        content = net.http_GET(url, headers=headers).content

        #onclick=\"window.open\('(.+?)', '_blank'\);\">(.+?)  (.+?)</a>
        #r = 'SRC="(.+?)" target="_blank">Play Now<'

        link = content.split('embeds[')

        for p in link:
            try:
                URL = 'http' + re.compile('http(.+?)"').findall(p)[0]
                uniques = []
                if not '123movies4u' in URL:
                    if URL not in uniques:
                        uniques.append(URL)
                        self.AddFileHost(list, 'SD', URL)
            except:
                pass
예제 #40
0
    def GetFileHosts(self, url, list, lock, message_queue,type,season,episode):

        import json
        from entertainment.net import Net
        net = Net(cached=False)

        CATID=url
  
        new_url = self.API+'option=content&id=%s' % url +self.extra()
        
        link = json.loads(net.http_GET(new_url,headers=self.HEADERS).content)

        if len(season)<2:
            season='0'+season
        if len(episode)<2:
            episode='0'+episode
          
        data=json.loads(self.GetStream(link['data'],self.DATAKEY))
        data=data['listvideos']
       
        if len(data)>1:
         
            for field in data:            
                name=field['film_name'].encode('utf8').upper()
                if type == 'tv_episodes':
                    if 'S%sE%s' % (season,episode) in name:
                        ID=str(field['film_id'])
                        self.TIDYME(list, CATID, ID)
                       
                else:
                    ID=str(field['film_id'])
                    self.TIDYME(list, CATID, ID)
        else:    

            for field in data:
                ID=str(field['film_id'])
                self.TIDYME(list, CATID, ID)
예제 #41
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        import urllib2
        import re
        from entertainment.net import Net
        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
        )

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        season_pull = "0%s" % season if len(season) < 2 else season
        episode_pull = "0%s" % episode if len(episode) < 2 else episode

        tv_url = 'http://newmyvideolink.xyz/index2/?s=%s+S%sE%s' % (
            name.replace(' ', '+'), season_pull, episode_pull)
        movie_url = 'http://newmyvideolink.xyz/index2/?s=%s+%s' % (
            name.replace(' ', '+'), year)

        if type == 'movies':
            html = net.http_GET(movie_url).content
            for item in re.finditer(r'<a href="(.+?)" rel="bookmark"', html,
                                    re.I):
                url = item.group(1)
                self.GetFileHosts(url, list, lock, message_queue)

        elif type == 'tv_episodes':
            html = net.http_GET(tv_url).content

            for item in re.finditer(r'<a href="(.+?)" rel="bookmark"', html,
                                    re.I):
                url = item.group(1)
                self.GetFileHosts(url, list, lock, message_queue)
예제 #42
0
    def GetFileHosts(self, url, list, lock, message_queue):
        import re

        from entertainment.net import Net
        net = Net()

        content = net.http_GET(url).content
        r = '<a href="(.+?)" rel="nofollow">.+?</a><br />'
        match = re.compile(r).findall(content)

        r2 = '<strong>Release Title</strong>\: (.+?)<br />'
        quality = re.compile(r2).findall(content)

        urlselect = []

        for url in match:
            if url not in urlselect:
                urlselect.append(url)
                res = 'SD'
                if re.findall('720', str(quality), re.I):
                    res = 'HD'
                elif re.findall('1080', str(quality), re.I):
                    res = 'HD'
                elif re.findall('CAM', str(quality), re.I):
                    res = 'CAM'
                elif re.findall('BRRIP', str(quality), re.I):
                    res = 'DVD'

                #if '720p' in quality or '1080p' in quality or 'BRRip' in quality:
                #res = 'HD'
                #elif 'CAM' in quality:
                #res = 'CAM'
                #elif 'Cam' in quality:
                #res = 'CAM'

                self.AddFileHost(list, res, url)
예제 #43
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):                 
        
    
        import json
        from entertainment.net import Net
        net = Net(cached=False)
        
        new_url = self.API+'option=search&page=1&total=0&block=0&q=%s' % name.replace(' ','+') +self.extra()
        
        link = json.loads(net.http_GET(new_url,headers=self.HEADERS).content)
       
        data=json.loads(self.GetStream(link['data'],self.DATAKEY))

        for field in data['categories']:
            TITLE=field['catalog_name'].encode('utf8')
            action=str(field['catalog_id'])


            if name in TITLE:
                if not type == 'tv_episodes':
                    self.GetFileHosts(action, list, lock, message_queue,type,season,episode)
                else:    
                    if year in TITLE:
                        self.GetFileHosts(action, list, lock, message_queue,type,season,episode)
예제 #44
0
    def GetFileHosts(self, url, list, lock, message_queue):

        import re, urllib
        from entertainment.net import Net

        net = Net(
            user_agent=
            'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'
        )

        loginurl = 'https://m.afdah.org/video_info/html5'

        v = url.split('v=')[1]
        data = {'v': v}
        headers = {
            'host': 'm.afdah.org',
            'origin': 'https://m.afdah.org',
            'referer': url,
            'user-agent':
            'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5',
            'x-requested-with': 'XMLHttpRequest'
        }

        first = net.http_POST(loginurl, data, headers).content

        import json

        link = json.loads(first)

        for j in link:
            quality = j.upper()
            if '360P' in quality:
                quality = 'SD'

            THEURL = urllib.unquote(link[j][3]) + '**' + url
            self.AddFileHost(list, quality, THEURL, host='GOOGLEVIDEO.COM')
예제 #45
0
    def Resolve(self, url):
        from entertainment.net import Net
        import re

        net = Net(cached=False)

        url = 'http://d2sy1af2shs9ve.cloudfront.net/tvplayer/streams/playlist/%s' % url

        response = net.http_GET(url).content

        import json
        link = json.loads(response)

        stream = link['stream']

        server = 'http://' + re.compile('http://(.+?)/').findall(stream)[0]

        m3u8 = net.http_GET(stream).content

        if not 'chunklist' in m3u8:

            if not 'http' in m3u8:

                match = re.compile('(.+?)\n').findall(m3u8)
                amount = len(match) - 1
                g = server + match[amount]
            else:
                match = re.compile('http://(.+?)\n').findall(m3u8)
                amount = len(match) - 1
                g = 'http://' + match[amount]

            M3U8_PATH = g
        else:

            M3U8_PATH = stream
        return M3U8_PATH
예제 #46
0
    def GetFileHosts(self, url, list, lock, message_queue):
        import re

        from entertainment.net import Net
        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
        )

        content = net.http_GET(url).content

        RES = match = re.compile('<h1>(.+?)<').findall(content)[0]

        #r = '<li><a href="(http://.+?)">(.+?)</a></li>'
        match = re.compile('<li><a href="(.+?)">(.+?)</a></li>').findall(
            content)

        for url, host in match:

            if 'HDCAM' in RES.upper():
                res = 'CAM'

            if 'CAM' in RES.upper():
                res = 'CAM'
            elif 'DVD' in RES.upper():
                res = 'DVD'
            elif '720' in RES:
                res = '720P'
            elif '1080' in RES:
                res = '1080P'
            elif 'HD' in RES.upper():
                res = 'HD'
            else:
                res = '720P'
            self.AddFileHost(list, res, url)
예제 #47
0
    def GetFileHosts(self, url, list, lock, message_queue):

        import re
        from entertainment.net import Net

        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5'
        )

        first = net.http_GET(url).content

        new_url = 'http://www.izlemeyedeger.com/iframe/' + re.compile(
            '/iframe/(.+?)"').findall(first)[0]
        headers = {'referer': url}
        second = net.http_GET(new_url, headers=headers).content

        match = re.compile('file: "(.+?)".+?label: "(.+?)"',
                           re.DOTALL).findall(second)
        #print match
        for THEURL, res in match:
            quality = res.upper()
            self.AddFileHost(list, quality, THEURL, host='GOOGLEVIDEO.COM')
예제 #48
0
    def Resolve(self, url):
        url_splits = url.split('|||||')
        url = url_splits[0]
        refurl = url_splits[1]
        from entertainment.net import Net
        net = Net()
        if url.startswith('http://cineblog01'):
            html = net.http_GET(url, headers={'Referer': refurl}).content

            import re
            link = re.search(
                '<meta http\-equiv=[\'"]refresh[\'"].+?url=(.+?)[\'"] />',
                html)
            if link:
                url = link.group(1)
            else:
                link = re.search('window.location.href = [\'"](.+?)[\'"]',
                                 html)
                if link:
                    url = link.group(1)

        from entertainment import istream
        play_url = istream.ResolveUrl(url)
        return play_url
예제 #49
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net

        net = Net()
        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        search_term = name.replace(' ', '%20')
        search_term = search_term.lower()

        search_term = search_term.replace('the', '')

        import re
        url = 'http://clickplay.to/search/' + search_term + '?'

        link = net.http_GET(url).content
        if 'Unfortunately there are no results right now' in link:
            return None
        match = re.compile(
            '<div id="video_list">\s*<a href="(.+?)" class="article" data="(.+?)">.+?<span class="article-title">(.+?) \((.+?)\)</span>',
            re.DOTALL).findall(link)

        for tv_url, data, tvshowname, tvshowyear in match:

            if year in tvshowyear:
                season_pull = "0%s" % season if len(season) < 2 else season
                episode_pull = "0%s" % episode if len(episode) < 2 else episode
                url = tv_url + 'season-' + season + '/'
                html = net.http_GET(url).content
                link_url = re.compile('<a href="(.+?)" title=".+?Episode ' +
                                      episode +
                                      ' / .+?" class=".+?">').findall(html)[0]

                self.GetFileHosts(link_url, list, lock, message_queue)
예제 #50
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        import re
        from entertainment.net import Net

        net = Net(do_not_cache_if_any=do_no_cache_keywords_list)

        if os.path.exists(self.cookie_file):
            try:
                os.remove(self.cookie_file)
            except:
                pass

        headers = {
            'Host': 'www.watchmoviesall.com',
            'Origin': 'http://www.watchmoviesall.com',
            'Referer': 'http://www.watchmoviesall.com/search_movies',
            'Connection': 'keep-alive',
            'Content-Type': 'application/x-www-form-urlencoded'
        }

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        form_data = {"q": "%s" % (name)}
        content = net.http_GET(
            'http://www.watchmoviesall.com/search_movies' +
            name.replace(' ', '%20'), headers).content

        match = re.compile('<a href="(.+?)">(.+?) \((.+?)\)</a>').findall(
            content)
        for url, _name, _year in match:
            url = 'http://www.watchmoviesall.com' + url
            if name in _name:
                if year in _year:
                    self.GetFileHosts(url, list, lock, message_queue)
예제 #51
0
    def GetSection(self, indexer, section, url, type, list, page='', total_pages='', sort_by='', sort_order=''):
        
        from entertainment.net import Net
        import re
        
        net = Net()

        url_type = ''
        content_type = ''
        
        if indexer == common.indxr_Movies:#'[COLOR orange]'+year+'[/COLOR]'

            if section == 'main':
                self.AddSection(list, indexer,'al-cinema','Al-Cinema',self.base_url +'al-cinema/',indexer)
                self.AddSection(list, indexer,'piu-visti','Piu-Visti',self.base_url +'piu-visti/',indexer)
                self.AddSection(list, indexer,'sub-ita','Sub-Ita',self.base_url +'film/sub-ita/',indexer)
                self.AddSection(list, indexer,'anno','Anno','http://filmstream.me/news/',indexer)
                self.AddSection(list, indexer,'genre','Genere','http://filmstream.me/news/',indexer)
                #self.AddSection(list, indexer,'popular','Popular',self.base_url +'movies/favorites/',indexer)         
                           
            elif section == 'genre':
                r = re.findall(r'<li><a href="(http://filmstream.me/film/.+?)">(.+?)</a></li>', net.http_GET(url).content, re.I)
                for genres_url,genres in r[0:]:
                    genres_title = genres.upper()
                    self.AddSection(list, indexer, 'genres_title', genres_title, genres_url, indexer)

            elif section == 'anno':
                r = re.findall(r'<li><a href="(http://filminstreaming.eu/anno/.+?)">(.+?)</a></li>', net.http_GET(url).content, re.I)
                for anno_url,anno in r[0:]:
                    anno_title = anno.upper()
                    self.AddSection(list, indexer, 'anno_title', anno_title, anno_url, indexer)
                
                

            else:
                self.ExtractContentAndAddtoList(indexer, section, url, type, list, page, total_pages, sort_by, sort_order)
예제 #52
0
 def GetFileHostsForContent(self, title, name, year, season, episode, type,
                            list, lock, message_queue):
     import re, urllib
     from entertainment.net import Net
     net = Net(cached=False)
     name = self.CleanTextForSearch(name)
     helper = '%s (%s)' % (name, year)
     name = urllib.quote(name)
     search_url = 'https://putlockers.ch/search/search.php?q=' + name
     #print search_url
     content = net.http_GET(search_url).content
     search_res = re.split('Search Results For: "<font color=red>',
                           content)[1]
     match = re.compile('href="(.+?)" title="(.+?)"').findall(search_res)
     for url, title in match:
         if not 'https://' in url:
             url = url.replace('http://', 'https://')
         if type == 'tv_episodes':
             if name.lower() in self.CleanTextForSearch(title.lower()):
                 self.GetFileHosts(url, list, lock, message_queue, season,
                                   episode, type)
         if title == helper or title == helper.replace(':', ' 2:'):
             self.GetFileHosts(url, list, lock, message_queue, season,
                               episode, type)
예제 #53
0
    def ResolveLive(self, content, url):

        import re

        new_content = re.search(
            'src=[\'"](http://players.simplestream.com/.+?\.js)[\'"]', content)

        if new_content:

            page_url = new_content.group(1)

            from entertainment.net import Net
            net = Net()
            content = net.http_GET(page_url, headers={'Referer': url}).content

            play_media = re.search('(http.+?\.m3u8)', content)

            if play_media:

                content = play_media.group(1)

                return (True, True, content, url)

        return (False, False, content, url)
예제 #54
0
    def ResolveLive(self, content, url):
    
        import re
        
        new_content = re.search("<iframe.+?src=[\"']http://.+?livestream\.com/embed/(.+?)\?", content)        
        if new_content:
            channel_id = new_content.group(1)
            playable_url = 'http://x%sx.api.channel.livestream.com/3.0/playlist.m3u8' % channel_id
            return (True, True, playable_url, url)
            
        new_content = re.search("<iframe.+?src=[\"'](http://.+?livestream\.com/accounts/[0-9]+?/events/[0-9]+?/player\?.+?)", content)        
        if new_content:
            new_url = new_content.group(1)
            
            from entertainment.net import Net
            net = Net()
            new_content = net.http_GET(new_url, headers={'Referer':url}).content

            m3u8_url = re.search('[\'"]{1}(http://[^\'"]+?\.m3u8[^\'"]+?)[\'"]{1}', new_content)
            if m3u8_url:
                resolved_media_url = m3u8_url.group(1)
                return (True, True, resolved_media_url, url)
            
        return (False, False, content, url)
예제 #55
0
    def Resolve(self, url):
        import re
        from entertainment.net import Net
        net = Net(cached=False)

        common.addon.log(self.name.upper() + ' - Link: %s' % url)
        common.addon.show_small_popup(
            '[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' +
            self.name.upper() + '[/B][/COLOR]', 'Resolving', 700, self.icon)

        html = net.http_GET(url).content
        net.save_cookies(self.cookie_file)
        net.set_cookies(self.cookie_file)

        try:
            if not re.search(r'value=\"Continue to video', html, re.I):
                raise Exception('File Not Found')

            html = net.http_POST(url,
                                 form_data={
                                     'Continue': 'Continue to video'
                                 },
                                 headers={
                                     'Content-Type':
                                     'application/x-www-form-urlencoded'
                                 }).content

            finalLink = re.search(r'var\sxxxx\s\=\s\"(.*?)\"', html)
            if finalLink:
                return finalLink.group(1)

            else:
                raise Exception('No Media Found To Stream')

        except Exception, e:
            common.addon.log(self.name.upper() +
                             ' - Exception occured: %s' % e)
            common.addon.show_small_popup(
                '[B][COLOR blue]I[/B][/COLOR]stream: [B][COLOR white]' +
                self.name.upper() + '[/B][/COLOR]',
                '[COLOR red]' + str(e) + '[/COLOR]', 3000, self.icon)
            return None
예제 #56
0
    def Resolve(self, url):
        print url
        import re
        from entertainment.net import Net
        net = Net(cached=False, user_agent='Apple-iPhone/')
        tv_user = self.Settings().get_setting('tv_user')
        tv_pwd = self.Settings().get_setting('tv_pwd')
        loginurl = 'http://hdtvshows.net/reg.php'
        html = net.http_GET(loginurl).content
        match = re.compile('name="Token(.+?)" value="(.+?)"').findall(html)
        _Token = re.compile(
            'name="data\[\_Token\]\[fields\]" value="(.+?)"').findall(html)[0]
        data = {
            '_method': 'POST',
            'subscriptionsPass': tv_pwd,
            'UserUsername': tv_user,
            'Token' + match[0][0]: 'login',
            'data[_Token][fields]': _Token
        }
        headers = {
            'Host': 'hdtvshows.net',
            'Origin': 'http://hdtvshows.net',
            'Referer': 'http://hdtvshows.net/login.php',
            'X-Requested-With': 'XMLHttpRequest'
        }
        html = net.http_POST(loginurl, data, headers)
        cookie_jar = os.path.join(cookie_path, "hdtvshows.lwp")
        if os.path.exists(cookie_path) == False:
            os.makedirs(cookie_path)
        net.save_cookies(cookie_jar)
        net.set_cookies(cookie_jar)
        html = net.http_GET(url).content

        match = re.compile('<video id="ipadvideo" src="(.+?)"').findall(html)

        return match[0].replace('|', '%7C')
예제 #57
0
 def ExtractContentAndAddtoList(self, indexer, section, url, type, list, page='', total_pages='', sort_by='', sort_order=''):
     net = Net(cached=False)
     type = common.indxr_Movies 
     mode = common.mode_File_Hosts
     indexer = common.indxr_Movies
     if section == 'new_releases':
         response = net.http_GET(url).content
         stuff = json.loads(response)
         for movies in stuff['movies']:
             title = movies['title']
             num = movies['year']
             name = title.encode('utf8')
             year = str(num)
             self.AddContent(list, indexer, common.mode_File_Hosts, name + ' (' + year +')', '', type, '', name, year)
     elif section == 'trakt_watchlist':
         response = net.http_GET(url).content
         stuff = json.loads(response)
         for movies in stuff:
             name = movies['title']
             if name:
                 name = name.encode('utf8')
                 year = str(movies['year'])
                 self.AddContent(list, indexer, mode, name + ' (' + year +')', '', type, '', name, year)
     elif section == 'list_name':
         response = net.http_GET(url).content
         stuff = json.loads(response)
         for items in stuff['items']:
             movies = items['movie']
             name = movies['title']
             if name:
                 name = name.encode('utf8')
                 year = str(movies['year'])
                 self.AddContent(list, indexer, mode, name + ' (' + year +')', '', type, '', name, year)    
     else:
         if page == '':
             page = '1'
         else:
             page = str(int(page))
             url = url + '&page=' + page
         response = net.http_GET(url).content
         stuff = json.loads(response)
         total_pages = stuff['total_pages']
         self.AddInfo(list, indexer, section, url, type, str(page), str(total_pages))
         for movies in stuff['results']:
             name = movies['title']
             date = movies['release_date']
             year = str(date)[0:4]
             name = name.encode('utf8')
             self.AddContent(list, indexer, common.mode_File_Hosts, name + ' (' + year +')', '', type, '', name, year)
예제 #58
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        import re
        from entertainment.net import Net

        from entertainment import bing

        net = Net(cached=False)

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        search_term = name + ' ' + year
        RESULT_TERM = 'Watch %s (%s) Full HD' % (name, year)
        try:
            GOOGLED = self.GoogleSearch('theonlinemovies.pro', search_term)
        except:
            GOOGLED = bing.Search('theonlinemovies.pro', search_term)

        uniques = []
        for result in GOOGLED:
            movie_url = result['url']
            TITLE = result['title']
            if RESULT_TERM.lower() in TITLE.lower():

                if 'full-hd-movie-online' in movie_url:
                    from entertainment import cloudflare
                    content = cloudflare.solve(
                        movie_url,
                        UA=
                        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.3'
                    )

                    match = re.compile("iframe.php\?ref=(.+?)&").findall(
                        content)

                    for ID in match:

                        self.GetFileHosts(
                            'http://videomega.tv/iframe.php?ref=' + ID, list,
                            lock, message_queue, 'HD')
예제 #59
0
    def ResolveLive(self, content, url):

        import re

        new_content = re.search(
            "<script.+?id=[\"'](.+?)[\"'].+?src=[\"']http://embeds\.coolsport\.tv/(.+?)\.js[\"']",
            content)
        if new_content:

            headers = {'Referer': url}
            page_url = 'http://embeds.coolsport.tv/' + new_content.group(
                2) + '.php?id=' + new_content.group(1)

            from entertainment.net import Net
            net = Net()
            content = net.http_GET(page_url, headers=headers).content

            return (False, True, content, page_url)

        new_content = re.search(
            "<iframe.+?src=[\"'](http://www.coolsport.tv/.+?)[\"']", content)
        if new_content:

            page_url = new_content.group(1)

            from entertainment.net import Net
            net = Net()
            content = net.http_GET(page_url, headers={'Referer': url}).content

            new_content = re.search(
                "<script.+?id=[\"'](.+?)[\"'].+?src=[\"']http://embeds\.coolsport\.tv/(.+?)\.js[\"']",
                content)

            headers = {'Referer': page_url}
            page_url = 'http://embeds.coolsport.tv/' + new_content.group(
                2) + '.php?id=' + new_content.group(1)
            content = net.http_GET(page_url, headers=headers).content

            return (False, True, content, page_url)

        return (False, False, content, url)
예제 #60
0
    def login(self):

        headers = {
            'User-Agent':
            'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25',
            'Host': 'ororo.tv',
            'Pragma': 'no-cache',
            'Referer': 'http://ororo.tv/en',
            'Upgrade-Insecure-Requests': '1',
            'Accept':
            'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Accept-Encoding': 'gzip, deflate, sdch',
            'Accept-Language': 'en-US,en;q=0.8',
            'Cache-Control': 'no-cache',
            'Connection': 'keep-alive'
        }
        tv_user = self.Settings().get_setting('tv_user')
        tv_pwd = self.Settings().get_setting('tv_pwd')
        from entertainment.net import Net

        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25'
        )

        tries = 0
        while True:
            html = html = net.http_GET('http://ororo.tv/nl/',
                                       headers=headers).content
            if html.startswith('http://') and tries < MAX_REDIRECT:
                tries += 1
                url = html
            else:
                break

        data = {
            'user[email]': tv_user,
            'user[password]': tv_pwd,
            'user[remember_me]': 1
        }
        html = net.http_POST('http://ororo.tv/en/users/sign_in',
                             data,
                             headers=headers).content
        net.save_cookies(self.cookie_file)