示例#1
0
    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)"])
示例#2
0
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
示例#4
0
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")]
示例#5
0
    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)
示例#6
0
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")]