'Scan and return associated subtitles
:return: associated subtitles
:rtype: list of :class:`~subliminal.subtitles.Subtitle`'

def scan(self):

    if (not self.exists):
        return []
    basepath = os.path.splitext(self.path)[0]
    results = []
    video_infos = None
    try:
        video_infos = enzyme.parse(self.path)
        logger.debug((u'Succeeded    parsing    %s    with    enzyme:    %r' % (self.path, video_infos)))
    except:
        logger.debug((u'Failed    parsing    %s    with    enzyme' % self.path))
    if isinstance(video_infos, enzyme.core.AVContainer):
        results.extend([subtitles.EmbeddedSubtitle.from_enzyme(self.path, s) for s in video_infos.subtitles])
    (folder, basename) = os.path.split(basepath)
    if (folder == ''):
        folder = '.'
    existing = [f for f in os.listdir(folder) if f.startswith(basename)]
    for path in existing:
        for ext in subtitles.EXTENSIONS:
            if path.endswith(ext):
                language = Language(path[(len(basename) + 1):(- len(ext))], strict=False)
                results.append(subtitles.ExternalSubtitle(path, language))
    return results
