'Create a :class:`Video` subclass guessing all informations from the given path
:param string path: path
:return: video object
:rtype: :class:`Episode` or :class:`Movie` or :class:`UnknownVideo`'

@classmethod
def from_path(cls, path):

    guess = guessit.guess_file_info(path, 'autodetect')
    result = None
    if ((guess['type'] == 'episode') and ('series' in guess) and ('season' in guess) and ('episodeNumber' in guess)):
        title = None
        if ('title' in guess):
            title = guess['title']
        result = Episode(path, guess['series'], guess['season'], guess['episodeNumber'], title, guess)
    if ((guess['type'] == 'movie') and ('title' in guess)):
        year = None
        if ('year' in guess):
            year = guess['year']
        result = Movie(path, guess['title'], year, guess)
    if (not result):
        result = UnknownVideo(path, guess)
    if (not isinstance(result, cls)):
        raise ValueError('Video    is    not    of    requested    type')
    return result
