'See :meth:`subliminal.download_subtitles`'

def download_subtitles(self, paths, languages=None, services=None, force=True, multi=False, cache_dir=None, max_depth=3, scan_filter=None, order=None):

    services = (services or SERVICES)
    languages = (language_list(languages) if (languages is not None) else language_list(LANGUAGES))
    if isinstance(paths, basestring):
        paths = [paths]
    order = (order or [LANGUAGE_INDEX, SERVICE_INDEX, SERVICE_CONFIDENCE, MATCHING_CONFIDENCE])
    subtitles_by_video = self.list_subtitles(paths, languages, services, force, multi, cache_dir, max_depth, scan_filter)
    for (video, subtitles) in subtitles_by_video.iteritems():
        subtitles.sort(key=(lambda s: key_subtitles(s, video, languages, services, order)), reverse=True)
    tasks = create_download_tasks(subtitles_by_video, languages, multi)
    for task in tasks:
        self.tasks.put(task)
    self.join()
    results = self.collect()
    return group_by_video(results)
