def test_refine_movie(movies): movie = Movie(movies['man_of_steel'].name, movies['man_of_steel'].title.lower()) refine(movie) assert movie.title == movies['man_of_steel'].title assert movie.year == movies['man_of_steel'].year assert movie.imdb_id == movies['man_of_steel'].imdb_id
def test_refine_movie(): movie = Movie(name=os.path.join(resources_dir, 'Refine.Movie.mkv'), title='Refine') wanted_item = WantedItem(type='movie', title='Title', year=2018, source='Source', quality='Resolution', codec='Codec', releasegrp='Group') refine(movie, wanted_item) assert movie.title == 'Title' assert movie.year == 2018 assert movie.source == 'Source' assert movie.resolution == 'Resolution' assert movie.video_codec == 'Codec' assert movie.release_group == 'Group'
def test_movie_fromname(movies): video = Movie.fromname(movies['man_of_steel'].name) assert video.name == movies['man_of_steel'].name assert video.format == movies['man_of_steel'].format assert video.release_group == movies['man_of_steel'].release_group assert video.resolution == movies['man_of_steel'].resolution assert video.video_codec == movies['man_of_steel'].video_codec assert video.audio_codec is None assert video.imdb_id is None assert video.hashes == {} assert video.size is None assert video.subtitle_languages == set() assert video.title == movies['man_of_steel'].title assert video.year == movies['man_of_steel'].year
def test_movie_fromguess_insufficient_data(movies): guess = {'type': 'movie'} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies['man_of_steel'].name, guess) assert str(excinfo.value) == 'Insufficient data to process the guess'
def test_movie_fromguess_wrong_type(movies): guess = {'type': 'subtitle'} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies['man_of_steel'].name, guess) assert str(excinfo.value) == 'The guess must be a movie guess'
def test_movie_fromguess_insufficient_data(movies): guess = {"type": "movie"} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies["man_of_steel"].name, guess) assert str(excinfo.value) == "Insufficient data to process the guess"
def test_movie_fromguess_wrong_type(movies): guess = {"type": "subtitle"} with pytest.raises(ValueError) as excinfo: Movie.fromguess(movies["man_of_steel"].name, guess) assert str(excinfo.value) == "The guess must be a movie guess"
def test_refine_movie_guess_alternative_title(movies): movie = Movie.fromname(movies['jack_reacher_never_go_back'].name) refine(movie, apikey=APIKEY) assert movie.title == movies['jack_reacher_never_go_back'].title assert movie.year == movies['jack_reacher_never_go_back'].year assert movie.imdb_id == movies['jack_reacher_never_go_back'].imdb_id
def test_skip_refine(): movie = Movie(name=os.path.join(resources_dir, 'Refine.Movie.Not.Exists.mkv'), title='Refine') refine(movie) assert movie.title == 'Refine'
def test_refine_movie(): movie = Movie(name=os.path.join(resources_dir, 'Refine.Movie.mkv'), title='Refine') refine(movie) assert movie.alternative_titles == ['title'] assert movie.imdb_id == 'tt123456'
def test_skip_refine(): movie = Movie(name=os.path.join(resources_dir, 'Refine.Movie.Not.Exists.mkv'), title='Refine') wanted_item = WantedItem(type='movie', title='Title') refine(movie, wanted_item) assert movie.title == 'Refine'
def usage(): print "Usage: " + sys.argv[0] + " lang title [year]" sys.exit(1) numargs = len(sys.argv) if numargs < 3 or numargs > 4: usage() lang = sys.argv[1] title = sys.argv[2] year=None if numargs == 4: year = int(sys.argv[3]) m = Movie(title + '.mp4', title, year=year) l = Language(lang) pathname = None subtitles = download_best_subtitles(set((m,)), set((l,))) for video, video_subtitles in subtitles.items(): for video_subtitle in video_subtitles: filename = get_subtitle_path(video.name, video_subtitle.language) pathname = os.path.join(OUT_DIR, filename) break save_subtitles(subtitles, directory=OUT_DIR, encoding='utf-8') if pathname is not None: print('{"filename":"' + pathname + '"}') else: print("{}")