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
Exemple #3
0
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
Exemple #7
0
 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
Exemple #9
0
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
Exemple #10
0
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