Example #1
0
def test_movie_set_director():
    movie = Movie("Moana", 2016)
    movie.description = "   This is a movie   "
    assert movie.description == "This is a movie"
    movie.director = Director("Ron Clements")
    assert movie.director.director_full_name is "Ron Clements"
    assert repr(movie.director) == "<Director Ron Clements>"
Example #2
0
def test_movie_runtime():
    movie = Movie("Moana", 2016)
    movie.description = "   This is a movie   "
    assert movie.description == "This is a movie"
    movie.director = Director("Ron Clements")
    assert movie.director.director_full_name is "Ron Clements"
    assert repr(movie.director) == "<Director Ron Clements>"

    actors = [
        Actor("Auli'i Cravalho"),
        Actor("Dwayne Johnson"),
        Actor("Rachel House"),
        Actor("Temuera Morrison")
    ]
    for actor in actors:
        movie.add_actor(actor)
    assert repr(
        movie.actors
    ) == "[<Actor Auli\'i Cravalho>, <Actor Dwayne Johnson>, <Actor Rachel House>, <Actor Temuera Morrison>]"
    movie.remove_actor(Actor("Dwayne Johnson"))
    assert repr(
        movie.actors
    ) == "[<Actor Auli\'i Cravalho>, <Actor Rachel House>, <Actor Temuera Morrison>]"

    genres = [Genre("Animated"), Genre("Comedy")]
    for genre in genres:
        movie.add_genre(genre)
    assert repr(movie.genres) == "[<Genre Animated>, <Genre Comedy>]"
    movie.remove_genre(Genre("Comedy"))
    assert repr(movie.genres) == "[<Genre Animated>]"

    movie.runtime_minutes = 100
    assert movie.runtime_minutes is 100
Example #3
0
def test_repository_can_add_movie(session_factory):
    repo = SqlAlchemyRepository(session_factory)
    movie = Movie('Guardians of the Galaxy', 2014)
    movie.runtime_minutes = 121
    movie.actors = [
        Actor('Chris Pratt'),
        Actor('Vin Diesel'),
        Actor('Bradley Cooper'),
        Actor('Zoe Saldana')
    ]
    movie.genres = [Genre('Action'), Genre('Adventure'), Genre('Sci-Fi')]
    movie.description = "A group of intergalactic criminals are forced to work together to stop a fanatical warrior from taking control of the universe."
    movie.director = [Director('James Gunn')]
    movie.rating = 8.1
    movie.meta = 76
    movie.revenue = 333.13
    movie.vote = 757074

    repo.add_movie(1, 'Guardians of the Galaxy', 2014, movie.description,
                   'James Gunn',
                   'Chris Pratt, Vin Diesel, Bradley Cooper, Zoe Saldana',
                   'Action,Adventure,Sci-Fi', movie.runtime_minutes,
                   movie.rating, movie.revenue, movie.meta, movie.vote)

    assert repo.get_movie("Guardians of the Galaxy") == movie
Example #4
0
def make_article(): ######  !!!!!
    movie = Movie(
        6,
        "new movie",
        2020
        )
    movie.description = "like it"
    return movie
Example #5
0
def test_movie_set_actors():
    movie = Movie("Moana", 2016)
    movie.description = "   This is a movie   "
    assert movie.description == "This is a movie"
    movie.director = Director("Ron Clements")
    assert movie.director.director_full_name is "Ron Clements"
    assert repr(movie.director) == "<Director Ron Clements>"
    actors = [Actor("Auli'i Cravalho"), Actor("Dwayne Johnson"), Actor("Rachel House"), Actor("Temuera Morrison")]
    for actor in actors:
        movie.add_actor(actor)
    assert repr(movie.actors) == "[<Actor Auli\'i Cravalho>, <Actor Dwayne Johnson>, <Actor Rachel House>, <Actor Temuera Morrison>]"
    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'])
                #print(f"Movie {index} with title: {title}, release year {release_year}")
                movie = Movie(title, release_year)

                if movie not in self.dataset_of_movies:
                    self.dataset_of_movies.append(movie)

                actors = row['Actors'].split(",")
                #print("~~~~~")
                for actor in range(len(actors)):
                    actors[actor] = Actor(actors[actor].strip())
                    #added
                    movie.actors.append(actors[actor].actor_full_name)
                    #print(actors[actor].actor_full_name)
                    #end added
                    if actors[actor] not in self.dataset_of_actors:
                        self.dataset_of_actors.add(actors[actor])
                    #if row['Title'] == "Fury":
                    #print("de", actors[actor])
                #print(actors)

                director = Director(row['Director'])
                if director not in self.dataset_of_directors:
                    self.dataset_of_directors.add(director)
                #self.subset_of_movie_directors[str(title)] = []

                genres = row['Genre'].split(",")
                for genre in range(len(genres)):
                    genres[genre] = Genre(genres[genre].strip())
                    # added
                    movie.genres.append(genres[genre].genre_name)
                    # end added
                    if genres[genre] not in self.dataset_of_genres:
                        self.dataset_of_genres.add(genres[genre])
                        #self.dataset_of_genres.append( Genre(genres[genre]) )
                #print(genres)

            # added
                movie.director = row['Director']
                movie.description = row['Description']
                movie.runtime_minutes = int(row['Runtime (Minutes)'])
                # end added

                index += 1
Example #7
0
def movie():
    movie = Movie('Guardians of the Galaxy', 2014)
    movie.runtime_minutes = 121
    movie.actors = [
        Actor('Chris Pratt'),
        Actor('Vin Diesel'),
        Actor('Bradley Cooper'),
        Actor('Zoe Saldana')
    ]
    movie.genres = [Genre('Action'), Genre('Adventure'), Genre('Sci-Fi')]
    movie.description = "A group of intergalactic criminals are forced to work together to stop a fanatical warrior from taking control of the universe."
    movie.director = Director('James Gunn')
    movie.rating = 8.1
    movie.meta = 76
    movie.revenue = 333.13
    movie.vote = 757074
    return movie
def load_movies(data_path: str, repo: MemoryRepository):
    index = 0
    for row in read_csv_file(os.path.join(data_path, 'Data1000Movies.csv')):
        rank = int(row[0])
        title = row[1]
        release_year = int(row[6])
        description = row[3]
        runtime = int(row[7])
        movie = Movie(title, release_year)
        movie.rank = rank
        movie.description = description
        movie.runtime_minutes = runtime

        actors = row[5]
        actors_list = actors.split(',')
        for actor in actors_list:
            movie.add_actor(actor)
        director = row[4]
        movie.director = director
        genres = row[2]
        genres_list = genres.split(',')
        for genre in genres_list:
            movie.add_genre(genre)

        repo.add_movie(movie)
        repo.add_movie_rank(rank, movie)
        repo.add_release_year(release_year)

        # add movie with same year into movies_with_given_year
        repo.add_movie_with_release_year(movie, release_year)

        # add movie with same actor into movies_with_given_actor
        repo.add_movie_with_actor(movie, actors)

        # add movie with same director into movies_with_given_director
        repo.add_movie_with_director(movie, director)

        # add movie with same genre into movies_with_given_genre
        repo.add_movie_with_genre(movie, genres_list)

        #repo.add_movie_details(movie,[description, genres_list, runtime, director, actors_list])

        if index > 1000:
            break

        index += 1
Example #9
0
 def add_movie(self, title, year, description, director, actor, genre,
               runtime, rating, revenue, meta, vote):
     movie = Movie(title, year)
     movie.description = description
     movie.director = Director(director)
     actors = actor.split(",")
     for a in actors:
         movie.add_actor(Actor(a.strip()))
     genres = genre.split(",")
     for g in genres:
         movie.add_genre(Genre(g))
     movie.runtime = runtime
     movie.rating = rating
     if revenue != "N/A":
         movie.revenue = float(revenue)
     if meta != "N/A":
         movie.meta = int(meta)
     movie.vote = vote
     self.dataset_of_movies.append(movie)
Example #10
0
    def add_movie(self, id, title, year, description, director, actor, genre,
                  runtime, rating, revenue, meta, vote):
        movie = Movie(title, year)
        movie.description = description
        movie.director = [Director(director)]
        actors = actor.split(",")
        for a in actors:
            movie.add_actor(Actor(a.strip()))
        genres = genre.split(",")
        for g in genres:
            movie.add_genre(Genre(g))
        movie.runtime = runtime
        movie.rating = rating
        if revenue != "N/A":
            movie.revenue = float(revenue)
        if meta != "N/A":
            movie.meta = int(meta)
        movie.vote = vote
        movie.id = id

        with self._session_cm as scm:
            scm.session.add(movie)
            scm.commit()
Example #11
0
def test_movie_set_description():
    movie = Movie("Moana", 2016)
    movie.description = "   This is a movie   "
    assert movie.description == "This is a movie"