'List subtitles with a single provider.
The video and languages are checked against the provider.
:param str provider: name of the provider.
:param video: video to list subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:return: found subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle` or None'

def list_subtitles_provider(self, provider, video, languages):

    if (not provider_manager[provider].plugin.check(video)):
        logger.info('Skipping    provider    %r:    not    a    valid    video', provider)
        return []
    provider_languages = (provider_manager[provider].plugin.languages & languages)
    if (not provider_languages):
        logger.info('Skipping    provider    %r:    no    language    to    search    for', provider)
        return []
    logger.info('Listing    subtitles    with    provider    %r    and    languages    %r', provider, provider_languages)
    try:
        return self[provider].list_subtitles(video, provider_languages)
    except (requests.Timeout, socket.timeout):
        logger.error('Provider    %r    timed    out', provider)
    except:
        logger.exception('Unexpected    error    in    provider    %r', provider)
