code: def download_subtitle(self, subtitle):
          
          # check discarded providers
          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
  
          # check subtitle validity
          if not subtitle.is_valid():
              logger.error('Invalid subtitle')
              return False
  
          return True
docs: 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