From 913fcb229bbd49c44885b4d666f2b5992c478bc7 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sun, 9 Jan 2011 15:16:13 -0500 Subject: [PATCH] Fix the Efukt video url regex. --- src/websites/efukt.rb | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/websites/efukt.rb b/src/websites/efukt.rb index 38b5913..0a1e10e 100644 --- a/src/websites/efukt.rb +++ b/src/websites/efukt.rb @@ -26,7 +26,7 @@ class Efukt < Website 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) @@ -40,7 +40,7 @@ class Efukt < Website # 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 @@ -50,32 +50,25 @@ class Efukt < Website # 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) - # There are two formats; try them both one at a time. - 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 not (matches.nil? || matches.length < 2) return matches[1] + else + raise StandardError.new('Could not find the "file" Flash variable.'); end - # If we didn't return a match already, try the second format. - video_url_regex = /