tmpdir = local('/tmp/pytest-of-root/pytest-0/test_find_best_subtitles_match0') def test_find_best_subtitles_matches(tmpdir): movie_filename = str(tmpdir.join('Parks.and.Recreation.S05E13.HDTV.x264-LOL.avi').ensure()) with patch('ss.ServerProxy', autospec=True) as rpc_mock: with patch('ss.calculate_hash_for_file', autospec=True) as hash_mock: hash_mock.return_value = '13ab' rpc_mock.return_value = server = MagicMock(name='MockServer') server.LogIn.return_value = dict(token='TOKEN') server.SearchSubtitles.return_value = { 'data' : [ # OpenSubtitles returned wrong Season: should be skipped dict( MovieReleaseName='Parks.and.Recreation.S05E13.HDTV.x264-LOL.srt', SubDownloadsCnt='1000', SubDownloadLink='http://sub99.srt', SubFormat='srt', SeriesSeason='4', SeriesEpisode='13', ), # OpenSubtitles returned wrong Episode: should be skipped dict( MovieReleaseName='Parks.and.Recreation.S05E13.HDTV.x264-LOL.srt', SubDownloadsCnt='1000', SubDownloadLink='http://sub98.srt', SubFormat='srt', SeriesSeason='5', SeriesEpisode='11', ), # First with correct season and episode: winner dict( MovieReleaseName='Parks.and.Recreation.S05E13.HDTV.x264-LOL.srt', SubDownloadsCnt='1000', SubDownloadLink='http://sub1.srt', SubFormat='srt', SeriesSeason='5', SeriesEpisode='13', ), dict( MovieReleaseName='Parks.and.Recreation.S05E13.HDTV.x264-LOL.srt', SubDownloadsCnt=1500, SubDownloadLink='http://sub2.srt', SubFormat='srt', SeriesSeason='5', SeriesEpisode='13', ), dict( MovieReleaseName='Parks.and.Recreation.S05E13.HDTV.-LOL.srt', SubDownloadsCnt=9999, SubDownloadLink='http://sub3.srt', SubFormat='srt', SeriesSeason='5', SeriesEpisode='13', ), ] } expected_result = (movie_filename, 'http://sub1.srt', '.srt' ) > results = list(ss.find_subtitles([movie_filename], 'en')) tests/test_ss.py:184: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ss.py:101: in find_subtitles all_search_results = query_open_subtitles(movie_filenames, language) ss.py:82: in query_open_subtitles guessit_query = obtain_guessit_query(movie_filename, language) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ movie_filename = '/tmp/pytest-of-root/pytest-0/test_find_best_subtitles_match0/Parks.and.Recreation.S05E13.HDTV.x264-LOL.avi' language = 'en' def obtain_guessit_query(movie_filename, language): > guess = guessit.guess_file_info(os.path.basename(movie_filename), info=['filename']) E AttributeError: module 'guessit' has no attribute 'guess_file_info' ss.py:27: AttributeError