rg3/youtube-dl — pull request #1488 by jaimeMF (2013-09-23 17:24:18+00:00)
Title: Split downloaders

Move FileDownloader to its own module and create a new class for each download process

A suitable downloader can be found using the 'get_suitable_downloader' function.

Each subclass implements 'real_download', for downloading an info dict you call the 'download' method, which first checks if the video has already been downloaded