2 # Copyright Michael Orlitzky
4 # http://michael.orlitzky.com/
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # http://www.fsf.org/licensing/licenses/gpl.html
22 class Tnaflix
< Website
24 VALID_TNAFLIX_URL_REGEX
= /^(http:\/\
/)?(www\.)?tnaflix\.com\/view_video\
.php
\?viewkey
=([[:alnum:]]+
)(&player
=old
)?$/
26 def self.owns_url
?(url
)
27 return url
=~ VALID_TNAFLIX_URL_REGEX
32 # First, figure out the video id from the URL.
33 # Then we download the page, and parse the Flash
34 # variable that we need to construct the URL.
35 video_id
= self.parse_video_id()
37 # The old player page has the video URL conveniently
38 # stored in one variable.
39 old_player_url
= @url +
'&player=old'
40 old_player_page_data
= get_page_data(old_player_url
)
41 video_url
= parse_video_url(old_player_page_data
)
47 def get_video_filename()
48 return (self.parse_video_id() +
'.flv')
54 video_id_regex
= /([[:alnum:]]+)(&player=old)?$/
55 matches
= video_id_regex
.match(@url)
56 video_id
= matches
[1] if not (matches
.nil? || matches
.length
< 2)
62 # The old player page has the video URL stored in a Flash
63 # variable called 'videoURL'.
64 def parse_video_url(page_data
)
65 video_url_regex
= /addVariable\(\'videoUrl\',\'([^\']+)/
66 matches
= video_url_regex
.match(page_data
)
67 video_url
= matches
[1] if not (matches
.nil? || matches
.length
< 1)