def get_10_movies_genre(self, genre): if type(genre) is not Genre: return a_list = [] count = 0 for movie in self._movies: if genre in movie.genres: a_list.append(movie) if genre == Genre("Western") and len(a_list) == 5: break if genre == Genre("Musical") and len(a_list) == 5: break if len(a_list) == 10: break return a_list
def test_repository_movies_have_genres(): genre = Genre("Action") newlist = x.get_10_movies_genre(genre) # Check that the query returned 10 Movies. assert len(newlist) == 10 assert newlist[0].genres is not None
def movies_by_genre(): a_genre = request.args.get('genre') a_genre = a_genre[0:len(a_genre) - 1] a_genre = Genre(a_genre) all_movies = services.get_all_movies_genre(repo.repo_instance, a_genre) return render_template('movies/all_movies.html', all_movies=all_movies, title=a_genre.genre_name)
def test_repository_can_retrieve_movie(): a_movie = Movie("Guardians of the Galaxy", 2014) a_genre = Genre("Action,Adventure,Sci-Fi") movie = x.get_movie(a_movie) # Check that the Movie has the expected title. assert movie.title == "Guardians of the Galaxy" assert movie.release == 2014 assert str( movie.genres) == '[<Genre Action>, <Genre Adventure>, <Genre Sci-Fi>]'
def test_repository_can_retrieve_movie(): x = memory_repository.MemoryRepository() data_path = os.path.join('website', 'datafilereaders', 'datafiles') memory_repository.load_movies(data_path, x) a_movie = Movie("Guardians of the Galaxy", 2014) a_genre = Genre("Action,Adventure,Sci-Fi") movie = x.get_movie(a_movie) # Check that the Movie has the expected title. assert movie.title == "Guardians of the Galaxy" assert movie.release == 2014 assert str(movie.genres) == '[<Genre Action>, <Genre Adventure>, <Genre Sci-Fi>]'
def read_csv_file(self): with open(os.path.join(self.__file_name, 'Data1000Movies.csv'), mode='r', encoding='utf-8-sig') as csvfile: movie_file_reader = csv.DictReader(csvfile) index = 0 for row in movie_file_reader: title = row['Title'] release_year = int(row['Year']) movie = Movie(title, release_year) url = imdb_from_title(title, release_year) movie.image = str(url) if movie not in self.__dataset_of_movies: self.__dataset_of_movies.add(movie) actors = row['Actors'].split(",") for actor in actors: a_actor = Actor(actor) movie.add_actor(a_actor) if a_actor not in self.__dataset_of_actors: self.__dataset_of_actors.add(a_actor) metascore = row['Metascore'] movie.metascore = str(metascore) num_of_ratings = row['Votes'] movie.num_of_ratings = float(num_of_ratings) director = row["Director"] director1 = Director(director) movie.director = director1 description = row["Description"] movie.description = description rating = row["Rating"] runtime = row["Runtime (Minutes)"] movie.runtime_minutes = int(runtime) movie.rating = float(rating) if director1 not in self.__dataset_of_directors: self.__dataset_of_directors.add(director1) genres = row["Genre"].split(",") for genre in genres: a_genre = Genre(genre) movie.add_genre(a_genre) if a_genre not in self.__dataset_of_genres: self.__dataset_of_genres.add(a_genre) index += 1
def read_csv_file(self): with open(os.path.join(self.__file_name), mode='r', encoding='utf-8-sig') as csvfile: movie_file_reader = csv.DictReader(csvfile) index = 0 for row in movie_file_reader: actors = row['Actors'].split(",") for actor in actors: a_actor = Actor(actor) if a_actor not in self.__dataset_of_actors: self.__dataset_of_actors.add(a_actor) director = row["Director"] director1 = Director(director) if director1 not in self.__dataset_of_directors: self.__dataset_of_directors.add(director1) genres = row["Genre"].split(",") for genre in genres: a_genre = Genre(genre) if a_genre not in self.__dataset_of_genres: self.__dataset_of_genres.add(a_genre) index += 1 self.movie_read_csv_file()
def test_repository_get_10_movies_with_genre(): a_genre = Genre("Action") genre_list = x.get_10_movies_genre(a_genre) assert len(genre_list) == 10
def test_get_all_movies_genre(in_memory_repo): genre = Genre("Western") movies = genre_services.get_all_movies_genre(in_memory_repo, genre) assert len(movies) == 7 for movie in movies: assert genre in movie.genres
def test_get_10_movies_genre(in_memory_repo): genre = Genre("Action") action_movies = home_services.get_10_movies_genre(in_memory_repo, genre) assert len(action_movies) == 10 for movie in action_movies: assert genre in movie.genres