From: Michael Orlitzky Date: Tue, 24 Nov 2009 02:07:14 +0000 (-0500) Subject: Added support for motherless.com. X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fwhatever-dl.git;a=commitdiff_plain;h=1bbc47ddc336e2cba7e8449613dee97f3c58d6ef Added support for motherless.com. --- diff --git a/src/websites/motherless.rb b/src/websites/motherless.rb new file mode 100644 index 0000000..a5b59b2 --- /dev/null +++ b/src/websites/motherless.rb @@ -0,0 +1,54 @@ +# +# 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 Motherless < Website + + VALID_MOTHERLESS_URL_REGEX = /^(http:\/\/)?(www\.)?motherless\.com\/[[:alnum:]]+$/ + + def self.owns_url?(url) + return url =~ VALID_MOTHERLESS_URL_REGEX + end + + + def get_video_url() + page_data = self.get_page_data(@url) + filepath = parse_video_url(page_data) + + return filepath + end + + + protected; + + + def parse_video_url(page_data) + # If neither of the source formats are present, just grab the + # video URL from the Flash variable and be done with it. + video_url_regex = /file=(.*?\.flv)&/i + matches = video_url_regex.match(page_data) + + if matches.nil? + raise StandardError.new("Couldn't parse the video URL from flashvars.") + end + + return matches[1] + end + +end diff --git a/test/fixtures/motherless/C1CDA5D.html b/test/fixtures/motherless/C1CDA5D.html new file mode 100644 index 0000000..5a02704 --- /dev/null +++ b/test/fixtures/motherless/C1CDA5D.html @@ -0,0 +1,276 @@ + + + + MOTHERLESS.COM - Moral Free Hosting : stickam stickam gallore + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
 HomeDMCAContact Us + Join + • Login +
+ + + +
+ + + + + +
+ + +
+ + + + +
+
+   
+
+
+
+
+
+ + + + + + +
+ + + + + + +
+ + + + +
+ + + +
+
This page requires JavaScript. It appears you have JavaScript turned off, or your browser does not support it.
+ + +
Facebook of Sex (18+) - Find a Lady. Email her. Fuck her Tonight!!! + + +
+ +
+

Info

+
+ + + +
+ + + + + +
+
+

stickam stickam gallore

+

From: mx

+

Uploaded: November 23rd, 2009

+

Views: 480

+

Favorited: 2

+

Categories: + None +

+

Tags: + None +

+
+

+ + +

+

+ + +

+

+ + +

+ +
+
+
+
+ + + +
+

Top Referrers

+
+ No referrers +
+
+ + + +
+

Favorite/Rate

+
+
Rate:
    +
  • Currently 3.5/5 Stars.
  • +
  • 1
  • +
  • 2
  • +
  • 3
  • +
  • 4
  • +
  • 5
  • +
+
+ +
+ + + +
+

Share

+
+ Send to Friend (Enter email address): +
+
+ + + + +
+
+ + + +
+

Report

+
+
+
+ +
+
+ + + +
+

Add to Gallery

+ You must be logged in to add this media to a gallery. +
+ +
+
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ + + + + + + + +
+ Contact Us • + Terms of Service • + About Us • + FAQ +
+
+ + + + + \ No newline at end of file diff --git a/test/fixtures/motherless/C1D5960.html b/test/fixtures/motherless/C1D5960.html new file mode 100644 index 0000000..36e91d9 --- /dev/null +++ b/test/fixtures/motherless/C1D5960.html @@ -0,0 +1,276 @@ + + + + MOTHERLESS.COM - Moral Free Hosting : stickam stickam gallore + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
 HomeDMCAContact Us + Join + • Login +
+ + + +
+ + + + + +
+ + +
+ + + + +
+
+   
+
+
+
+
+
+ + + + + + +
+ + + + + + +
+ + + + +
+ + + +
+
This page requires JavaScript. It appears you have JavaScript turned off, or your browser does not support it.
+ + +
Facebook of Sex (18+) - Find a Lady. Email her. Fuck her Tonight!!! + + +
+ +
+

Info

+
+ + + +
+ + + + + +
+
+

stickam stickam gallore

+

From: mx

+

Uploaded: November 23rd, 2009

+

Views: 361

+

Favorited: 1

+

Categories: + None +

+

Tags: + None +

+
+

+ + +

+

+ + +

+

+ + +

+ +
+
+
+
+ + + +
+

Top Referrers

+
+ No referrers +
+
+ + + +
+

Favorite/Rate

+
+
Rate:
    +
  • Currently 3.5/5 Stars.
  • +
  • 1
  • +
  • 2
  • +
  • 3
  • +
  • 4
  • +
  • 5
  • +
+
+ +
+ + + +
+

Share

+
+ Send to Friend (Enter email address): +
+
+ + + + +
+
+ + + +
+

Report

+
+
+
+ +
+
+ + + +
+

Add to Gallery

+ You must be logged in to add this media to a gallery. +
+ +
+
+
+
+ + + + + + + + +
+ + + + + + + +
+
+ + + + + + + + +
+ Contact Us • + Terms of Service • + About Us • + FAQ +
+
+ + + + + \ No newline at end of file diff --git a/test/motherless_test.rb b/test/motherless_test.rb new file mode 100644 index 0000000..3b89ef0 --- /dev/null +++ b/test/motherless_test.rb @@ -0,0 +1,76 @@ +# +# 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 'test/unit' +require 'src/websites/motherless' + +class MotherlessTest < Test::Unit::TestCase + + def test_owns_motherless_urls + assert(Motherless.owns_url?('http://motherless.com/C1D5A7A')) + assert(Motherless.owns_url?('http://www.motherless.com/C1D5960')) + end + + + def test_doesnt_own_redtube_urls + assert(!Motherless.owns_url?('http://www.redtube.com/6807')) + assert(!Motherless.owns_url?('www.redtube.com/6807')) + assert(!Motherless.owns_url?('http://redtube.com/6807')) + assert(!Motherless.owns_url?('redtube.com/6807')) + end + + + def test_doesnt_own_howcast_urls + assert(!Motherless.owns_url?('http://www.howcast.com/videos/6807-2twr')) + assert(!Motherless.owns_url?('www.howcast.com/videos/6807-2dgfdg')) + assert(!Motherless.owns_url?('http://howcast.com/videos/6807-cse')) + assert(!Motherless.owns_url?('howcast.com/videos/6807-asdgasd')) + end + + + def test_doesnt_own_misc_urls + assert(!Motherless.owns_url?('http://www.bliptv.com/123456')) + end + + + def test_parse_video_url + ml = Motherless.new(nil) + + page_data = nil + + # First Fixture + + File.open('test/fixtures/motherless/C1D5960.html') do |f| + page_data = f.read + end + + test_result = ml.send('parse_video_url', page_data) + assert_equal('http://members.motherless.com/movies/C1D5960-204299206.flv', test_result) + + + # Second Fixture + + File.open('test/fixtures/motherless/C1CDA5D.html') do |f| + page_data = f.read + end + + test_result = ml.send('parse_video_url', page_data) + assert_equal('http://members.motherless.com/movies/C1CDA5D-204266691.flv', test_result) + end + +end diff --git a/test/test_suite.rb b/test/test_suite.rb index d5d42c4..2c60e68 100644 --- a/test/test_suite.rb +++ b/test/test_suite.rb @@ -22,6 +22,7 @@ require 'test/fuckedtube_test' require 'test/howcast_test' require 'test/infoq_test' require 'test/megaporn_test' +require 'test/motherless_test' require 'test/redtube_test' require 'test/tnaflix_test' require 'test/uri_utilities_test'