def read_csv_file(self, file_name): with open(file_name, mode='r', encoding='utf-8-sig') as csvfile: movie_file_reader = csv.DictReader(csvfile) for row in movie_file_reader: id = int(row['Rank']) title = row['Title'] release_year = int(row['Year']) movie = Movie(title, release_year, id) self.add_movie(movie) actors = row["Actors"] actors = actors.split(",") for actor in actors: actor = Actor(actor) self.add_actor(actor) actor = self.get_actor(actor.actor_full_name) movie.add_actor(actor) actor.add_movie(movie) director = Director(row["Director"]) self.add_director(director) director = self.get_director(director.director_full_name) movie.director = director director.add_movie(movie) genres = row["Genre"] genres = genres.split(",") for genre in genres: genre = Genre(genre) movie.add_genre(genre) self.add_genre(genre) movie.description = row["Description"] movie.runtime_minutes = int(row["Runtime (Minutes)"])
def test_remove_genre(): movie = Movie("Moana", 2016) genres = [ Genre("Animation"), Genre("Action"), Genre("Fantasy"), Genre("Children's film"), Genre("Adventure") ] for genre in genres: movie.add_genre(genre) assert repr( movie.genres ) == "[<Genre Animation>, <Genre Action>, <Genre Fantasy>, <Genre Children's film>, <Genre Adventure>]" movie.remove_genre(Genre("Adventure")) assert repr( movie.genres ) == "[<Genre Animation>, <Genre Action>, <Genre Fantasy>, <Genre Children's film>]" movie.remove_genre(Genre("Adventure")) assert repr( movie.genres ) == "[<Genre Animation>, <Genre Action>, <Genre Fantasy>, <Genre Children's film>]"
def read_csv_file(self): with open(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: title = row["Title"] release_year = int(row["Year"]) movie = Movie(title, release_year) movie.description = row["Description"] director = row["Director"] movie.add_director(Director(director)) if Director(director) not in self.__dataset_of_directors: self.__dataset_of_directors.append(Director(director)) actors = row["Actors"].split(",") for actor in actors: movie.add_actor(Actor(actor)) if Actor(actor) not in self.__dataset_of_actors: self.__dataset_of_actors.append(Actor(actor)) genres = row["Genre"].split(",") for genre in genres: movie.add_genre(Genre(genre)) if Genre(genre) not in self.__dataset_of_genres: self.__dataset_of_genres.append(Genre(genre)) movie.runtime_minutes = int(row["Runtime (Minutes)"]) try: movie.external_rating = float(row["Rating"]) except ValueError: pass try: movie.rating_votes = int(row["Votes"]) except ValueError: pass try: movie.revenue_in_millions = float( row["Revenue (Millions)"]) except ValueError: pass try: movie.metascore = int(row["Metascore"]) except ValueError: pass self.__dataset_of_movies.append(movie) # title = row['Title'] # release_year = int(row['Year']) # print(f"Movie {index} with title: {title}, release year {release_year}") index += 1
def test_movie_remove_genre(): movie1 = Movie("Moana", 2016) movie1.add_genre(Genre("Animation")) # correct input movie1.remove_genre(Genre("Animation")) assert movie1.genres == [] # incorrect input movie1.add_genre(Genre("Animation")) movie1.remove_genre(Director("Animation")) assert movie1.genres == [Genre("Animation")] # removing a genre not in list movie1.remove_genre(Genre("Comedy")) assert movie1.genres == [Genre("Animation")]
def read_csv_file(self): with open(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: title = row['Title'] release_year = int(row['Year']) movie = Movie(title, release_year) movie.description = row['Description'] movie.director = Director(row['Director']) if Director( row['Director']) not in self.__dataset_of_directors: self.__dataset_of_directors.append( Director(row['Director'])) for actor in row['Actors'].split(','): movie.add_actor(Actor(actor)) if Actor(actor) not in self.dataset_of_actors: self.dataset_of_actors.append(Actor(actor)) for genre in row['Genre'].split(','): movie.add_genre(Genre(genre)) if Genre(genre) not in self.dataset_of_genres: self.dataset_of_genres.append(Genre(genre)) movie.runtime_minutes = int(row['Runtime (Minutes)']) try: movie.revenue = float(row['Revenue (Millions)']) except: pass self.__dataset_of_movies.append(movie)
def test_movie_add_genre(): # correct input movie1 = Movie("Moana", 2016) movie1.add_genre(Genre("Animation")) assert movie1.genres == [Genre("Animation")] # incorrect input movie1.add_actor(Director("Ron Clements")) assert movie1.genres == [Genre("Animation")] # adding a genre twice movie1.add_genre(Genre("Animation")) assert movie1.genres == [Genre("Animation")] # adding a second genre movie1.add_genre(Genre("Comedy")) assert movie1.genres == [Genre("Animation"), Genre("Comedy")]