X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2Fwebsite.rb;h=2f03e6cb4c383fa63093553a60317925bee51183;hb=63a898d70c90cf95f423fcd396af9b4639f1c3dd;hp=75f5aa8907d4c6c8e3fa237172a3e02a1f80f71c;hpb=898ac047794bd23c6a60929d484a7e898549752f;p=dead%2Fwhatever-dl.git diff --git a/src/website.rb b/src/website.rb index 75f5aa8..2f03e6c 100644 --- a/src/website.rb +++ b/src/website.rb @@ -56,13 +56,13 @@ class Website - def get_page_data(url) + def get_page_data(url, headers = {}) # 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) + http.get(uri.request_uri, headers) end return response.body @@ -114,8 +114,15 @@ class Website # of the video URL, but in some cases, subclasses will want # to override this behavior. def get_video_filename() - # Use whatever comes after the final front slash. - return get_video_url().split('/').pop() + # Use whatever comes after the final front slash. + file_and_params = get_video_url().split('/').pop() + + # Unless it contains URL parameters. We don't want those. + return file_and_params unless file_and_params.include?('?') + + # There must be some parameters. Strip them off. + param_start_idx = file_and_params.index('?') + return file_and_params[0...(param_start_idx)] end end