def download(self, paths, tool, language):
        """Download subtitles via a number of tools."""

        if tool not in self.available:
            fatal('{!r} is not installed'.format(tool))

        try:
            from . import plugins
            downloader = plugins.__getattribute__(tool)
        except AttributeError:
            fatal('{!r} is not a supported download tool'.format(tool))

        try:
            if downloader.__code__.co_argcount is 2:
                downloader(paths, language)
            elif downloader.__code__.co_argcount is 1:
                downloader(paths)
        except:  # pylint: disable=bare-except
            if not check_connectivity():
                error('Internet connectivity appears to be disabled')
            else:
                error('{!r} experienced an unknown error'.format(tool))
Download subtitles via a number of tools.