source: titan/mediathek/localhoster/novamov.py @ 39650

Last change on this file since 39650 was 39650, checked in by obi, 3 years ago

tithek add novamove auroravid py hoster

File size: 1.7 KB
Line 
1
2import sys
3import re
4from lib.net import Net
5import lib.common as common
6from lib import helpers
7
8class Resolver(object):
9    name = "novamov"
10    domains = ['novamov.com', 'auroravid.to']
11    pattern = '(?://|\.)(novamov.com|auroravid.to)/(?:video/|embed/\?v=|embed\.php\?v=)([A-Za-z0-9]+)'
12
13    def __init__(self):
14        self.net = Net()
15        url = str(sys.argv[1])
16        host = self.get_host_and_id(url)[0]
17        media_id = self.get_host_and_id(url)[1]
18
19        return self.get_media_url(host, media_id)
20
21    def get_host_and_id(self, url):
22        r = re.search(self.pattern, url, re.I)
23        if r:
24            return r.groups()
25        else:
26            return False
27
28    def get_media_url(self, host, media_id):
29        web_url = self.get_url(host, media_id)
30
31        html = self.net.http_GET(web_url).content
32
33        try:
34            r = re.search('flashvars.filekey=(.+?);', html)
35            if r == None: raise Exception()
36
37            r = r.group(1)
38   
39            try: filekey = re.compile('\s+%s="(.+?)"' % r).findall(html)[-1]
40            except: filekey = r
41   
42            player_url = 'http://www.auroravid.to/api/player.api.php?key=%s&file=%s' % (filekey, media_id)
43   
44            html = self.net.http_GET(player_url).content
45   
46            r = re.search('url=(.+?)&', html)
47
48        except:
49            r = re.search('source src="(.+?)"', html)
50           
51        if r:
52            stream_url = r.group(1)
53            print stream_url
54       
55        else:
56            print 'File Not Found or removed'
57
58 
59    def get_url(self, host, media_id):
60        return 'http://www.auroravid.to/embed/?v=%s' % media_id
61
62sys.stdout = Resolver()
Note: See TracBrowser for help on using the repository browser.