1 --- clive-0.4.10/src/clive/parse.py 2008-04-21 10:54:55.000000000 +0300
2 +++ clive-0.4.10-delfi/src/clive/parse.py 2008-04-26 01:09:31.000000000 +0300
4 ('sevenload.com', 'sevenl', self._parse_sevenload),
5 ('myvideo.', 'myvideo', self._parse_myvideo),
6 ('break.com', 'break', self._parse_break),
7 + ('delfi.', 'delfi', self._parse_delfi),
10 ## Parses a video page data (HTML)
12 url = self._parse_from_to(data, 'mediaURL=', '&', skip_from=1)
13 return (url, vid, low_quality)
15 + def _graburl(self, url, read=1):
16 + from urlgrabber.grabber import URLGrabber, URLGrabError
20 + http_headers = (('accept-encoding', 'gzip'),),
21 + user_agent = self._opts.http_agent,
22 + proxies = self._opts.http_proxy
27 + if o.hdr.get('content-encoding') == 'gzip':
28 + data = gzip.GzipFile(fileobj=StringIO(data)).read()
30 + except URLGrabError, err:
31 + self._say('%s [%s]' % (e.strerror,url), is_error=1)
35 + def _parse_delfi(self, url, data, low_quality):
38 + s = self._parse_from_to(data, "flv_url:", ",")
41 + # http://www.delfi.ee/news/paevauudised/paevavideo/article.php?id=15218215
43 + url = s.replace("'", "").split('flv_url: ',2)[1]
48 + # videoproject embed
49 + # http://www.delfi.ee/news/paevauudised/paevavideo/article.php?id=18759038
50 + s = self._parse_from_to(data, "_delfiVideoSalt", ";")
53 + salt = s.split('"',2)[1]
58 + # find url to videoproject
59 + s = self._parse_from_to(data, "src=", "/js/embed.js")
60 + s = s[5 + s.rfind("src"):] + "/video/" + salt + "/"
62 + s = self._graburl(s)
63 + s = self._parse_from_to(s, "s1.addVariable('file'", ";");
65 + url = s.split("'")[3]
71 + # http://video.delfi.ee/video/Uu4gF58g/
72 + s = self._parse_from_to(data, "s1.addVariable('file'", ";");
74 + url = s.split("'")[3]
78 + vid = md5.new(str(time.time())).hexdigest()[:8]
79 + return (url, vid, low_quality)
81 def _random_vid(self):
82 return md5.new(str(time.time())).hexdigest()[:8]