return url =~ VALID_EFUKT_URL_REGEX
end
-
+
def get_video_url()
page_data = self.get_page_data(@url)
video_url = self.parse_video_url(page_data)
# better than the superclass method because it doesn't rely on the
# network.
filename = @url.split('/').pop().split('.')[0]
-
+
# Most of the URLs will just be the video's id,
# followed by an underscore and the video title (with
# all spaces replaced by underscores. Sounds like a good
# Overwrite the default if our regex worked.
filename = matches[1] if not (matches.nil? || matches.length < 1)
-
+
return (filename + '.flv')
end
-
+
protected;
- # Get the FLV file URL from the HTML page for this movie.
- # It's stored in some Flash variable.
def parse_video_url(page_data)
- video_url_regex = /&file=(http:\/\/.*\.flv)&/i
+ # Get the FLV file URL from the HTML page for this movie.
+ # It's stored in some Flash variable.
+ video_url_regex = /flashvars\.file = "(http:\/\/.*\.flv)"/i
matches = video_url_regex.match(page_data)
- if (matches.nil? || matches.length < 2)
- raise StandardError.new('Could not find the "file" flash variable on the page.');
+ if not (matches.nil? || matches.length < 2)
+ return matches[1]
+ else
+ raise StandardError.new('Could not find the "file" Flash variable.');
end
-
+
return matches[1]
end