]> gitweb.michael.orlitzky.com - dead/whatever-dl.git/blobdiff - src/website.rb
Factored out the Youtube implementation of get_page_data into the Website superclass.
[dead/whatever-dl.git] / src / website.rb
index 96290dee3de99ac7d00f34e14298110be82455a0..5e064799cd3ede567d732e1f3e2f5c8f72aaf51a 100644 (file)
 # http://www.fsf.org/licensing/licenses/gpl.html
 #
 
+# Necessary in a lot of subclasses; plus, we need it
+# to parse the server name out of our URL.
+require 'uri'
+
 # This class keeps track of all its subclasses
 # We use this to loop through every "website" in an
 # attempt to determine to which site a URL belongs.
@@ -37,6 +41,28 @@ class Website
     @subclasses << subclass
   end
 
+
+  def server
+    # Get the HTTP server portion of our URI
+    uri = URI.parse(@url)
+    return uri.host
+  end
+
+
+  
+  def get_page_data(url)
+    # A naive implementation that just grabs the
+    # data from a page.
+    uri = URI.parse(url)
+
+    response = Net::HTTP.start(uri.host, uri.port) do |http|
+      http.get(uri.request_uri)
+    end
+
+    return response.body
+  end
+
+  
   
   public;