'Download `subtitle`\'s :attr:`~subliminal.subtitle.Subtitle.content`.
:param subtitle: subtitle to download.
:type subtitle: :class:`~subliminal.subtitle.Subtitle`
:return: `True` if the subtitle has been successfully downloaded, `False` otherwise.
:rtype: bool'

def download_subtitle(self, subtitle):

    if (subtitle.provider_name in self.discarded_providers):
        logger.warning('Provider    %r    is    discarded', subtitle.provider_name)
        return False
    logger.info('Downloading    subtitle    %r', subtitle)
    try:
        self[subtitle.provider_name].download_subtitle(subtitle)
    except (requests.Timeout, socket.timeout):
        logger.error('Provider    %r    timed    out,    discarding    it', subtitle.provider_name)
        self.discarded_providers.add(subtitle.provider_name)
        return False
    except:
        logger.exception('Unexpected    error    in    provider    %r,    discarding    it', subtitle.provider_name)
        self.discarded_providers.add(subtitle.provider_name)
        return False
    if (not subtitle.is_valid()):
        logger.error('Invalid    subtitle')
        return False
    return True
