Example #1
0
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
Example #2
0
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'
Example #3
0
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
Example #4
0
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
Example #5
0
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'
Example #6
0
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'
Example #7
0
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'
Example #8
0
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'
Example #9
0
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"
Example #10
0
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"
Example #11
0
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'
Example #14
0
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'
Example #15
0
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("{}")