+++ /dev/null
-#
-# Copyright Michael Orlitzky
-#
-# http://michael.orlitzky.com/
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# http://www.fsf.org/licensing/licenses/gpl.html
-#
-
-require 'src/website'
-
-class Liveleak < Website
-
- VALID_LIVELEAK_URL_REGEX = /^(http:\/\/)?(www\.)?liveleak\.com\/view\?i=.+$/
-
- def self.owns_url?(url)
- return url =~ VALID_LIVELEAK_URL_REGEX
- end
-
-
- def get_video_url()
- page_data = self.get_page_data(@url)
- embed_tag = parse_embed_tag(page_data)
- playlist_data = self.get_page_data(playlist_url(embed_tag))
-
- return parse_location_from_playlist(playlist_data)
- end
-
-
- protected;
-
- def parse_embed_tag(page_data)
- embed_tag_regex = /file_embed_tag%3D([[:alnum:]]+)%/
- matches = embed_tag_regex.match(page_data)
-
- if matches.nil? or matches.length < 2
- return StandardError.new("Couldn't parse the video's embed_tag.")
- end
-
- return matches[1]
- end
-
-
- def playlist_url(embed_tag)
- return "http://www.liveleak.com/playlist_new.php?file_embed_tag=#{embed_tag}"
- end
-
-
- def parse_location_from_playlist(xml_data)
- file_path_regex = /<location>(.*?)<\/location>/
- matches = file_path_regex.match(xml_data)
-
- if matches.nil?
- raise StandardError.new("Couldn't parse the <location> tag from the playlist XML file.")
- end
-
- return matches[1]
- end
-
-end