Michael Orlitzky [Wed, 13 Jun 2012 03:27:32 +0000 (23:27 -0400)]
Fix the progressbar require path in uri_utilities.rb.
Replace the makefile with a Rakefile.
Update all of the test code to run under `rake test`.
Add a short README.
Michael Orlitzky [Wed, 13 Jun 2012 01:44:21 +0000 (21:44 -0400)]
Use the logger class to log warnings and errors.
Run the main script whether or not it was invoked directly.
Move the exit codes into their own module.
Added the OGG/Vorbis format parsing to Bliptv.
Created a test case for the OGG/Vorbis parsing.
Renamed an existing Bliptv test which was copied incorrectly.
Michael Orlitzky [Thu, 29 Oct 2009 14:47:47 +0000 (10:47 -0400)]
Added GetOpt option parsing.
Take a '--continue' option, passed on to the downloader, which determines whether or not we attempt to continue a previous download.
Modified the downloaders to throw an IOError if the output file already exists and we're not continuing a previous download.
Print the external command used to execute Wget.
Updated Redtube to work with the site's new algorithm.
Made one local Redtube test a remote test.
Updated the remote test suite to include the Redtube remote tests.
Added a local fixture for Redtube tests.
Added one local test utilizing the new fixture.
Added support for blip.tv.
Created the Bliptv class.
Added several tests, along with fixtures, for the new class.
Added the Bliptv tests to the test suite.
Michael Orlitzky [Sun, 27 Sep 2009 04:52:46 +0000 (00:52 -0400)]
Added configurable downloaders.
Created three new classes: Downloader, OpenUriDownloader, and WgetDownloader.
Created a configuration file.
Modified whatever-dl to use the configuration information.
Michael Orlitzky [Fri, 21 Nov 2008 22:01:32 +0000 (17:01 -0500)]
I take that last commit back. Now the relative include path issue is fixed. The previous commit fails to include all of the website classes since the Dir.glob method doesn't necessarily (usually) look in the correct place.
mjo [Fri, 31 Oct 2008 17:09:08 +0000 (13:09 -0400)]
Added the ability to download videos from http://www.yikers.com/.
Created tests for the new Yikers class.
Added a method to the Website class returning the host portion of its URL.
Made the output filename the responsibility of the website subclass.
Added a factory method to the website class which creates the appropriate subclass based on the URL given to it.
Added a get_video_filename method to the website class.
Made two Website methods abstract via NotImplementedError, get_video_url and owns_url?.
Created a default implementation of get_video_filename in the Website class.
Made the site URL member data of the Website class.
Fixed a bug in the URL handling for Youtube.
Added output stating the filename for the download.
Replaced all code in the classes/tests to accommodate the other changes.
Fixed a bug in the Youtube class' parsing of the "t" parameter.
Modified the "t" parsing regex to catch non-alphanumeric characters, which from experience I now know are possible.
Added a test/fixture to expose the bug.
The whatever-dl executable now outputs "Fetching #{video_url}" before actually fetching the file.
Fixed a typo in the main executable which was causing a crash.
Added the progress bar tests back to the suite.
Added a Youtube class and the accompanying unit tests/fixtures.
Added independent (non-wget) file downloads via open-uri.
Removed a bad vimeo_remote_test require from the remote test suite.
Added the UriUtilities class and a bunch of tests for it.
Included the ProgressBar class in the vendor directory so that the UriUtilities class can display a progress bar during downloads.
Added the ProgressBar tests to the test suite.
Added error handling to the main whatever-dl script for newly-possible IO/connection errors.
Removed the wget exec() call in favor of the open-uri call.
mjo [Fri, 29 Aug 2008 21:37:30 +0000 (17:37 -0400)]
Added the ability to download Vimeo videos.
Created a Vimeo class.
Created a bunch of tests for the new Vimeo class.
Added a fixture for the Vimeo tests: an XML file containing the video data.
Added a GPLv3 notice to the top of any file which did not contain one.