Example #1
0
    def person_wrong_name( self ):
        self.initialize()

        person = Person()
        person.name = "Ela"
        person.surname = "Gabor"
        person.permalink = "ela-gabor"
        person.imdb_code = "3140529"
        person.verified_imdb_code = True
        person.type = Person.TYPE_PERSON
        person.save()

        fti1 = FilmToImport( user = self.user, title = '180/100',
                imdb_url = 'http://www.imdb.com/title/tt2089598/', imdb_id = '2089598', status = FilmToImport.ACCEPTED )
        fti1.save()

        run( False, False, False, False, False, True, "http" )

        self.assertEqual( Person.objects.filter( imdb_code__isnull=True ).count(), 0 )

        person = Person.objects.get( imdb_code="3140529" )
        self.assertEqual( person.name, "Ela" )
        self.assertEqual( person.surname, "Gabor" )
        self.assertEqual( person.permalink, "ela-gabor" )
        self.assertEqual( person.import_comment, "imdb name: Éva Gábor" )
Example #2
0
    def setUp(self):
        User.objects.all().delete()
        Person.objects.all().delete()
        Country.objects.all().delete()
        AddedFilm.objects.all().delete()
        AddedCharacter.objects.all().delete()

        self.client = Client(follow=True)

        # test user with no permissions
        self.u1 = User.objects.create_user("user", "*****@*****.**", "user")

        # test user with moderation_permission
        self.u2 = User.objects.create_user("root", "*****@*****.**", "root")
        self.u2.user_permissions.add(
            Permission.objects.get(codename="can_accept_added_films"))
        self.u2.save()

        # some persons
        self.p1 = Person(name="Clint",
                         surname="Eastwood",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p1.save()

        self.p2 = Person(name="Sylwester",
                         surname="Stallone",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p2.save()

        self.p3 = Person(name="Jack",
                         surname="Mort",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p3.save()

        # countries
        self.c1 = Country.objects.create(country='USA')
        self.c2 = Country.objects.create(country='Poland')
Example #3
0
    def person_short_imdb_code( self ):
        self.initialize()

        person = Person()
        person.name = "Harrison"
        person.surname = "Ford"
        person.permalink = "harrison-ford"
        person.imdb_code = "148"
        person.type = Person.TYPE_PERSON
        person.save()

        person = Person()
        person.name = "Harrison"
        person.surname = "Ford (II)"
        person.permalink = "harrison-ford-ii"
        person.imdb_code = "0001230"
        person.type = Person.TYPE_PERSON
        person.save()

        self.assertEqual( Person.objects.filter( imdb_code='148' ).count(), 1 )

        fti1 = FilmToImport( user = self.user, title = 'Love in High Gear',
                imdb_url = 'http://www.imdb.com/title/tt0022093/', imdb_id = '0022093', status = FilmToImport.ACCEPTED )
        fti1.save()

        fti2 = FilmToImport( user = self.user, title = 'Journey to shiloh',
                imdb_url = 'http://www.imdb.com/title/tt0063161/', imdb_id = '0063161', status = FilmToImport.ACCEPTED )
        fti2.save()

        fti3 = FilmToImport( user = self.user, title = 'Guys choice Awards 2011',
                imdb_url = 'http://www.imdb.com/title/tt2023505/', imdb_id = '2023505', status = FilmToImport.ACCEPTED )
        fti3.save()

        run( False, False, False, False, False, True, "http" )

        self.assertEqual( Person.objects.filter( name='Harrison', surname__contains='Ford' ).count(), 2 )
        self.assertEqual( Person.objects.filter( imdb_code='148' ).count(), 0 )
        self.assertEqual( Person.objects.get( imdb_code='0000148' ).permalink, 'harrison-ford' )
Example #4
0
    def duplicate_imdb_code(self):
        """
            ImdbFetcher is trying to save person with imdb_code,
            already existing in db
        """

        self.initialize()

        self.client.login(username=self.user.username, password='******')

        per = Person()
        per.name = "Jan"
        per.surname = "Kowalski"
        # Schwarzeneger's imdb code
        per.imdb_code = "0000216"
        per.type = Person.TYPE_PERSON
        per.save()
        per = Person.objects.get(imdb_code="0000216")
        self.assertEqual(per.name, "Jan")
        self.assertEqual(per.imdb_code, "0000216")
        
        film_to_import = FilmToImport(user = self.user,
                                  title = 'Terminator',
                                  imdb_url = 'http://www.imdb.com/title/tt0088247/',
					              imdb_id='0088247',
                                  status=FilmToImport.ACCEPTED)
        film_to_import.save()

        run(False, False, False, False, False, True, "http")

        person = Person.objects.get(imdb_code="0000216")
        # duplicate imdb_code - should be set to Schwarzenegger
        self.assertEqual(person.name, "Arnold")
        self.assertEqual(person.surname, "Schwarzenegger")
        self.assertEqual(person.verified_imdb_code, True)
        self.assertEqual(person.imdb_code, "0000216")

        # old imdb_code should be set to None
        per = Person.objects.get(name="Jan", surname="Kowalski")
        self.assertEqual(per.imdb_code, None)
Example #5
0
    def unique_imdb_code(self):
        """
            There is a person in db but, he has different imdb_code
        """

        self.initialize()

        self.client.login(username=self.user.username, password='******')

        per = Person()
        per.name = "Jan"
        per.surname = "Kowalski"
        # Schwarzeneger's imdb code
        per.imdb_code = "0101010101010101"
        per.type = Person.TYPE_PERSON
        per.save()
        per = Person.objects.get(imdb_code="0101010101010101")
        self.assertEqual(per.name, "Jan")
        self.assertEqual(per.imdb_code, "0101010101010101")

        film_to_import = FilmToImport(user = self.user,
                                  title = 'Terminator',
                                  imdb_url = 'http://www.imdb.com/title/tt0088247/',
					              imdb_id='0088247',
                                  status=FilmToImport.ACCEPTED)
        film_to_import.save()

        run(False, False, False, False, False, True, "http")

        person = Person.objects.get(imdb_code="0000216")
        self.assertEqual(person.name, "Arnold")
        self.assertEqual(person.surname, "Schwarzenegger")
        self.assertEqual(person.verified_imdb_code, True)
        self.assertEqual(person.imdb_code, "0000216")

        # old imdb_code should be set to None
        per = Person.objects.get(name="Jan", surname="Kowalski")
        self.assertEqual(per.imdb_code, "0101010101010101")
Example #6
0
    def setUp(self):
        self.user = User.objects.get(username='******')
        self.user.set_password('bob')
        self.user.save()

        self.film = Film(type=1,
                         permalink='przypadek',
                         imdb_code=111,
                         status=1,
                         version=1,
                         release_year=1999,
                         title='Przypadek',
                         popularity=1,
                         popularity_month=1)
        self.film.save()

        self.person = Person(type=2,
                             permalink='jerzy-stuhr',
                             imdb_code=112,
                             status=1,
                             version=1,
                             name='Jerzy',
                             surname='Stuhr')
        self.person.save()
Example #7
0
    def initialize(self):
        self.clean_data()

        # set up users
        self.u1 = User.objects.create_user('michuk',
                                           '*****@*****.**',
                                           'secret')
        self.u1.save()
        self.u2 = User(username='******', email='*****@*****.**')
        self.u2.save()
        self.u3 = User(username='******', email='*****@*****.**')
        self.u3.save()
        self.u4 = User(username='******', email='*****@*****.**')
        self.u4.save()

        self.contest = Contest()
        self.contest.name = "Plebiscyt"
        self.contest.start_date = datetime.now()
        self.contest.end_date = datetime.now()
        self.contest.event_status = Contest.STATUS_OPEN
        self.contest.type = Object.TYPE_CONTEST
        self.contest.permalink = "plebiscyt"
        self.contest.save()

        film1 = Film()
        film1.title = "Battlefield Earth II"
        film1.type = Object.TYPE_FILM
        film1.permalink = "/battlefirld-earth-ii/"
        film1.release_year = 2010
        film1.save()

        person1 = Person()
        person1.name = "John"
        person1.surname = "Travolta"
        person1.type = Object.TYPE_PERSON
        person1.permalink = "/john-travolta/"
        person1.save()

        person2 = Person()
        person2.name = "Tom"
        person2.surname = "Cruise"
        person2.type = Object.TYPE_PERSON
        person2.permalink = "/tom-cruise/"
        person2.save()

        person3 = Person()
        person3.name = "Forrest"
        person3.surname = "Whitaker"
        person3.type = Object.TYPE_PERSON
        person3.permalink = "/forrest-whitaker/"
        person3.save()

        character1 = Character()
        character1.character = "Scientologist 1"
        character1.person = person1
        character1.film = film1
        character1.save()
        self.character1 = character1

        character2 = Character()
        character2.character = "Scientologist 2"
        character2.person = person2
        character2.film = film1
        character2.save()
        self.character2 = character2

        character3 = Character()
        character3.character = "A non-scientologist"
        character3.person = person3
        character3.film = film1
        character3.save()
        self.character3 = character3

        today = datetime.today()
        tomorrow = today + timedelta(1)

        self.game1 = Game()
        self.game1.contest = self.contest
        self.game1.type = Object.TYPE_GAME
        self.game1.permalink = "scientologist-1-vs-scientologist-2"
        self.game1.level = Game.LEVEL_32
        self.game1.character1 = character1
        self.game1.character2 = character2
        self.game1.start_date = today
        self.game1.end_date = today
        self.game1.save()

        self.game2 = Game()
        self.game2.contest = self.contest
        self.game2.type = Object.TYPE_GAME
        self.game1.permalink = "scientologist-1-vs-scientologist-2"
        self.game2.level = Game.LEVEL_32
        self.game2.character1 = character1
        self.game2.character2 = character2
        self.game2.start_date = tomorrow
        self.game2.end_date = tomorrow
        self.game2.save()
Example #8
0
    def setUp(self):
        User.objects.all().delete()

        Object.objects.all().delete()
        Film.objects.all().delete()
        FilmLog.objects.all().delete()
        Rating.objects.all().delete()
        Recommendation.objects.all().delete()
        Person.objects.all().delete()

        AddedCharacter.objects.all().delete()
        AddedFilm.objects.all().delete()

        # set up users
        self.u1 = User(username='******', email='*****@*****.**')
        self.u1.save()

        self.u2 = User.objects.create_user("root", "*****@*****.**", "root")
        self.u2.user_permissions.add(
            Permission.objects.get(codename="can_accept_added_films"))
        self.u2.save()

        self.u3 = User(username='******', email='*****@*****.**')
        self.u3.save()

        self.u4 = User(username='******', email='*****@*****.**')
        self.u4.save()

        self.u5 = User(username='******', email='*****@*****.**')
        self.u5.save()

        self.u6 = User(username='******', email='*****@*****.**')
        self.u6.save()

        # some persons
        self.p1 = Person(name="Clint",
                         surname="Eastwood",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p1.save()

        self.p2 = Person(name="Sylvester",
                         surname="Stallone",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p2.save()

        self.p3 = Person(name="Jack",
                         surname="Mort",
                         imdb_code=None,
                         type=Person.TYPE_PERSON)
        self.p3.save()

        # set up films
        self.f1 = Film(type=1,
                       permalink='przypadek',
                       imdb_code=111,
                       status=1,
                       version=1,
                       release_year=1999,
                       title='Przypadek',
                       popularity=20,
                       popularity_month=10)
        self.f1.save()

        self.f2 = Film(type=1,
                       permalink='wrestler',
                       imdb_code=112,
                       status=1,
                       version=1,
                       release_year=2008,
                       title='Wrestler',
                       popularity=10,
                       popularity_month=1)
        self.f2.save()

        self.f3 = Film(type=1,
                       permalink='american-history-x',
                       imdb_code=113,
                       status=1,
                       version=1,
                       release_year=1998,
                       title='American History X',
                       popularity=1,
                       popularity_month=1)
        self.f3.save()

        self.f4 = Film(type=1,
                       permalink='the-big-lebowski',
                       imdb_code=114,
                       status=1,
                       version=1,
                       release_year=1998,
                       title='The Big Lebowski',
                       popularity=1,
                       popularity_month=1)
        self.f4.save()

        self.f5 = Film(
            type=1,
            permalink='the-lord-of-the-rings-the-fellowship-of-the-ring',
            imdb_code=115,
            status=1,
            version=1,
            release_year=2001,
            title='The Lord of the Rings: The Fellowship of the Ring',
            popularity=1,
            popularity_month=1)
        self.f5.save()

        self.f6 = Film(type=1,
                       permalink='raiders-of-the-lost-ark',
                       imdb_code=116,
                       status=1,
                       version=1,
                       release_year=1981,
                       title='Raiders of the Lost Ark',
                       popularity=1,
                       popularity_month=1)
        self.f6.save()

        self.f7 = Film(type=1,
                       permalink='the-alien',
                       imdb_code=117,
                       status=1,
                       version=1,
                       release_year=1979,
                       title='The Alien',
                       popularity=1,
                       popularity_month=1)
        self.f7.save()

        self.f8 = Film(type=1,
                       permalink='terminator-2-judgment-day',
                       imdb_code=118,
                       status=1,
                       version=1,
                       release_year=1991,
                       title='Terminator 2: Judgment Day',
                       popularity=1,
                       popularity_month=1)
        self.f8.save()

        self.f9 = Film(type=1,
                       permalink='przypadek',
                       imdb_code=119,
                       status=1,
                       version=1,
                       release_year=1999,
                       title='Przypadek',
                       popularity=20,
                       popularity_month=10)
        self.f9.save()

        self.f10 = Film(type=1,
                        permalink='wrestler',
                        imdb_code=120,
                        status=1,
                        version=1,
                        release_year=2008,
                        title='Wrestler',
                        popularity=10,
                        popularity_month=1)
        self.f10.save()

        self.f11 = Film(type=1,
                        permalink='american-history-x',
                        imdb_code=121,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='American History X',
                        popularity=1,
                        popularity_month=1)
        self.f11.save()

        self.f12 = Film(type=1,
                        permalink='the-big-lebowski',
                        imdb_code=122,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='The Big Lebowski',
                        popularity=1,
                        popularity_month=1)
        self.f12.save()

        self.f13 = Film(
            type=1,
            permalink='the-lord-of-the-rings-the-fellowship-of-the-ring',
            imdb_code=123,
            status=1,
            version=1,
            release_year=2001,
            title='The Lord of the Rings: The Fellowship of the Ring',
            popularity=1,
            popularity_month=1)
        self.f13.save()

        self.f14 = Film(type=1,
                        permalink='raiders-of-the-lost-ark',
                        imdb_code=124,
                        status=1,
                        version=1,
                        release_year=1981,
                        title='Raiders of the Lost Ark',
                        popularity=1,
                        popularity_month=1)
        self.f14.save()

        self.f15 = Film(type=1,
                        permalink='the-alien',
                        imdb_code=125,
                        status=1,
                        version=1,
                        release_year=1979,
                        title='The Alien',
                        popularity=1,
                        popularity_month=1)
        self.f15.save()

        self.f16 = Film(type=1,
                        permalink='przypadek',
                        imdb_code=126,
                        status=1,
                        version=1,
                        release_year=1999,
                        title='Przypadek',
                        popularity=20,
                        popularity_month=10)
        self.f16.save()

        self.f17 = Film(type=1,
                        permalink='wrestler',
                        imdb_code=127,
                        status=1,
                        version=1,
                        release_year=2008,
                        title='Wrestler',
                        popularity=10,
                        popularity_month=1)
        self.f17.save()

        self.f18 = Film(type=1,
                        permalink='american-history-x',
                        imdb_code=128,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='American History X',
                        popularity=1,
                        popularity_month=1)
        self.f18.save()

        self.f19 = Film(type=1,
                        permalink='the-big-lebowski',
                        imdb_code=129,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='The Big Lebowski',
                        popularity=1,
                        popularity_month=1)
        self.f19.save()

        self.f20 = Film(
            type=1,
            permalink='the-lord-of-the-rings-the-fellowship-of-the-ring',
            imdb_code=130,
            status=1,
            version=1,
            release_year=2001,
            title='The Lord of the Rings: The Fellowship of the Ring',
            popularity=1,
            popularity_month=1)
        self.f20.save()

        self.f21 = Film(type=1,
                        permalink='raiders-of-the-lost-ark',
                        imdb_code=131,
                        status=1,
                        version=1,
                        release_year=1981,
                        title='Raiders of the Lost Ark',
                        popularity=1,
                        popularity_month=1)
        self.f21.save()

        self.f22 = Film(type=1,
                        permalink='the-alien',
                        imdb_code=132,
                        status=1,
                        version=1,
                        release_year=1979,
                        title='The Alien',
                        popularity=1,
                        popularity_month=1)
        self.f22.save()

        self.f23 = Film(type=1,
                        permalink='terminator-2-judgment-day',
                        imdb_code=133,
                        status=1,
                        version=1,
                        release_year=1991,
                        title='Terminator 2: Judgment Day',
                        popularity=1,
                        popularity_month=1)
        self.f23.save()

        self.f24 = Film(type=1,
                        permalink='przypadek',
                        imdb_code=134,
                        status=1,
                        version=1,
                        release_year=1999,
                        title='Przypadek',
                        popularity=20,
                        popularity_month=10)
        self.f24.save()

        self.f25 = Film(type=1,
                        permalink='wrestler',
                        imdb_code=135,
                        status=1,
                        version=1,
                        release_year=2008,
                        title='Wrestler',
                        popularity=10,
                        popularity_month=1)
        self.f25.save()

        self.f26 = Film(type=1,
                        permalink='american-history-x',
                        imdb_code=136,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='American History X',
                        popularity=1,
                        popularity_month=1)
        self.f26.save()

        self.f27 = Film(type=1,
                        permalink='the-big-lebowski',
                        imdb_code=137,
                        status=1,
                        version=1,
                        release_year=1998,
                        title='The Big Lebowski',
                        popularity=1,
                        popularity_month=1)
        self.f27.save()

        self.f28 = Film(
            type=1,
            permalink='the-lord-of-the-rings-the-fellowship-of-the-ring',
            imdb_code=138,
            status=1,
            version=1,
            release_year=2001,
            title='The Lord of the Rings: The Fellowship of the Ring',
            popularity=1,
            popularity_month=1)
        self.f28.save()

        self.f29 = Film(type=1,
                        permalink='raiders-of-the-lost-ark',
                        imdb_code=139,
                        status=1,
                        version=1,
                        release_year=1981,
                        title='Raiders of the Lost Ark',
                        popularity=1,
                        popularity_month=1)
        self.f29.save()

        self.f30 = Film(type=1,
                        permalink='the-alien',
                        imdb_code=140,
                        status=1,
                        version=1,
                        release_year=1979,
                        title='The Alien',
                        popularity=1,
                        popularity_month=1)
        self.f30.save()

        self.f31 = AddedFilm(title='Added film part 1',
                             localized_title='Added film PL',
                             release_year=2010,
                             user=self.u1)
        self.f31.save()

        self.f31.directors.add(self.p1)
        self.f31.save()

        AddedCharacter.objects.create(added_film=self.f31,
                                      person=self.p3,
                                      character="Jack Mort")

        self.f31.accept(self.u2)

        self.f32 = AddedFilm(title='Added film part 2',
                             localized_title='Added film PL',
                             release_year=2010,
                             user=self.u1)
        self.f32.save()

        self.f32.directors.add(self.p2)
        self.f32.save()

        AddedCharacter.objects.create(added_film=self.f32,
                                      person=self.p3,
                                      character="Jack Mort")

        self.f32.accept(self.u2)

        #tagging
        self.f1.save_tags('comedy drama horror animation mystery')
        self.f2.save_tags('comedy sci-fi thriller series')
        self.f3.save_tags('comedy')
        self.f4.save_tags('sci-fi')
        self.f5.save_tags('horror')
        self.f6.save_tags('thriller')
        self.f7.save_tags('drama')
        self.f8.save_tags('series')
        self.f9.save_tags('sci-fi')
        self.f10.save_tags('fantasy')
        self.f11.save_tags('mystery')
        self.f12.save_tags('action')
        self.f13.save_tags('adventure')
        self.f14.save_tags('animation')
        self.f15.save_tags('family')
        self.f16.save_tags('thriller')
        self.f17.save_tags('drama')
        self.f18.save_tags('series')
        self.f19.save_tags('sci-fi')
        self.f20.save_tags('fantasy')
        self.f21.save_tags('comedy')
        self.f22.save_tags('animation')
        self.f23.save_tags('comedy')
        self.f24.save_tags('sci-fi')
        self.f25.save_tags('horror')
        self.f26.save_tags('thriller')
        self.f27.save_tags('drama')
        self.f28.save_tags('series')
        self.f29.save_tags('sci-fi')
        self.f30.save_tags('fantasy')

        #First user ratings
        save_rating(self.f1, self.u1, 1)
        save_rating(self.f2, self.u1, 2)
        save_rating(self.f3, self.u1, 3)
        save_rating(self.f4, self.u1, 4)
        save_rating(self.f5, self.u1, 5)
        save_rating(self.f6, self.u1, 6)
        save_rating(self.f7, self.u1, 7)
        save_rating(self.f8, self.u1, 8)
        save_rating(self.f9, self.u1, 9)
        save_rating(self.f10, self.u1, 10)
        save_rating(self.f11, self.u1, 1)
        save_rating(self.f12, self.u1, 2)
        save_rating(self.f13, self.u1, 3)
        save_rating(self.f14, self.u1, 4)
        save_rating(self.f15, self.u1, 5)
        save_rating(self.f16, self.u1, 6)
        save_rating(self.f17, self.u1, 7)
        save_rating(self.f18, self.u1, 8)
        save_rating(self.f19, self.u1, 9)
        save_rating(self.f20, self.u1, 10)
        save_rating(self.f21, self.u1, 1)
        save_rating(self.f22, self.u1, 2)
        save_rating(self.f23, self.u1, 3)
        save_rating(self.f24, self.u1, 4)
        save_rating(self.f25, self.u1, 5)
        save_rating(self.f26, self.u1, 6)
        save_rating(self.f27, self.u1, 7)
        save_rating(self.f28, self.u1, 8)
        save_rating(self.f29, self.u1, 9)
        save_rating(self.f30, self.u1, 10)

        #Second user ratings - more than minimal common films requirement (15)
        save_rating(self.f1, self.u2, 1)
        save_rating(self.f2, self.u2, 2)
        save_rating(self.f3, self.u2, 3)
        save_rating(self.f4, self.u2, 4)
        save_rating(self.f5, self.u2, 5)
        save_rating(self.f6, self.u2, 6)
        save_rating(self.f7, self.u2, 7)
        save_rating(self.f8, self.u2, 8)
        save_rating(self.f9, self.u2, 9)
        save_rating(self.f10, self.u2, 10)
        save_rating(self.f11, self.u2, 1)
        #save_rating(self.f12, self.u2, 2)
        save_rating(self.f13, self.u2, 3)
        #save_rating(self.f14, self.u2, 4)
        save_rating(self.f15, self.u2, 5)
        #save_rating(self.f16, self.u2, 6)
        save_rating(self.f17, self.u2, 7)
        #save_rating(self.f18, self.u2, 8)
        save_rating(self.f19, self.u2, 9)
        #save_rating(self.f20, self.u2, 10)
        save_rating(self.f21, self.u2, 1)
        #save_rating(self.f22, self.u2, 2)
        save_rating(self.f23, self.u2, 3)
        #save_rating(self.f24, self.u2, 4)
        save_rating(self.f25, self.u2, 5)
        #save_rating(self.f26, self.u2, 6)
        save_rating(self.f27, self.u2, 7)
        #save_rating(self.f28, self.u2, 8)
        save_rating(self.f29, self.u2, 9)
        #save_rating(self.f30, self.u2, 10)

        # Third user ratings - equal with minimal common films requirement (15)
        #save_rating(self.f1, self.u3, 1)
        #save_rating(self.f2, self.u3, 2)
        #save_rating(self.f3, self.u3, 3)
        #save_rating(self.f4, self.u3, 4)
        #save_rating(self.f5, self.u3, 5)
        #save_rating(self.f6, self.u3, 6)
        #save_rating(self.f7, self.u3, 7)
        #save_rating(self.f8, self.u3, 8)
        #save_rating(self.f9, self.u3, 9)
        #save_rating(self.f10, self.u3, 10)
        #save_rating(self.f11, self.u3, 1)
        #save_rating(self.f12, self.u3, 2)
        #save_rating(self.f13, self.u3, 3)
        #save_rating(self.f14, self.u3, 4)
        #save_rating(self.f15, self.u3, 5)
        save_rating(self.f16, self.u3, 6)
        save_rating(self.f17, self.u3, 7)
        save_rating(self.f18, self.u3, 8)
        save_rating(self.f19, self.u3, 9)
        save_rating(self.f20, self.u3, 10)
        save_rating(self.f21, self.u3, 1)
        save_rating(self.f22, self.u3, 2)
        save_rating(self.f23, self.u3, 3)
        save_rating(self.f24, self.u3, 4)
        save_rating(self.f25, self.u3, 5)
        save_rating(self.f26, self.u3, 6)
        save_rating(self.f27, self.u3, 7)
        save_rating(self.f28, self.u3, 8)
        save_rating(self.f29, self.u3, 9)
        save_rating(self.f30, self.u3, 10)

        # Fourth user ratings - less than minimal films requirement
        #save_rating(self.f1, self.u4, 1)
        #save_rating(self.f2, self.u4, 2)
        #save_rating(self.f3, self.u4, 3)
        #save_rating(self.f4, self.u4, 4)
        #save_rating(self.f5, self.u4, 5)
        #save_rating(self.f6, self.u4, 6)
        #save_rating(self.f7, self.u4, 7)
        #save_rating(self.f8, self.u4, 8)
        #save_rating(self.f9, self.u4, 9)
        #save_rating(self.f10, self.u4, 10)
        #save_rating(self.f11, self.u4, 1)
        #save_rating(self.f12, self.u4, 2)
        #save_rating(self.f13, self.u4, 3)
        #save_rating(self.f14, self.u4, 4)
        #save_rating(self.f15, self.u4, 5)
        #save_rating(self.f16, self.u4, 6)
        #save_rating(self.f17, self.u4, 7)
        #save_rating(self.f18, self.u4, 8)
        #save_rating(self.f19, self.u4, 9)
        #save_rating(self.f20, self.u4, 10)
        save_rating(self.f21, self.u4, 1)
        save_rating(self.f22, self.u4, 2)
        save_rating(self.f23, self.u4, 3)
        save_rating(self.f24, self.u4, 4)
        save_rating(self.f25, self.u4, 5)
        save_rating(self.f26, self.u4, 6)
        save_rating(self.f27, self.u4, 7)
        save_rating(self.f28, self.u4, 8)
        save_rating(self.f29, self.u4, 9)
        save_rating(self.f30, self.u4, 10)

        # Fifth user ratings - the same films rated (1st and 5th user) but different
        # ratings
        #save_rating(self.f1, self.u5, 10)
        #save_rating(self.f2, self.u5, 9)
        #save_rating(self.f3, self.u5, 8)
        #save_rating(self.f4, self.u5, 7)
        #save_rating(self.f5, self.u5, 6)
        #save_rating(self.f6, self.u5, 5)
        #save_rating(self.f7, self.u5, 4)
        #save_rating(self.f8, self.u5, 3)
        #save_rating(self.f9, self.u5, 2)
        #save_rating(self.f10, self.u5, 1)
        #save_rating(self.f11, self.u5, 10)
        #save_rating(self.f12, self.u5, 9)
        #save_rating(self.f13, self.u5, 8)
        #save_rating(self.f14, self.u5, 7)
        #save_rating(self.f15, self.u5, 6)
        #save_rating(self.f16, self.u5, 5)
        #save_rating(self.f17, self.u5, 4)
        #save_rating(self.f18, self.u5, 3)
        #save_rating(self.f19, self.u5, 2)
        #save_rating(self.f20, self.u5, 1)
        #save_rating(self.f21, self.u5, 10)
        #save_rating(self.f22, self.u5, 9)
        #save_rating(self.f23, self.u5, 8)
        #save_rating(self.f24, self.u5, 7)
        #save_rating(self.f25, self.u5, 6)
        #save_rating(self.f26, self.u5, 5)
        #save_rating(self.f27, self.u5, 4)
        #save_rating(self.f28, self.u5, 3)
        #save_rating(self.f29, self.u5, 2)
        #save_rating(self.f30, self.u5, 1)

        # Sixth user ratings - the same films rated (1st and 5th user) but different
        # ratings
        save_rating(self.f1, self.u6, 10)
        save_rating(self.f2, self.u6, 10)
        save_rating(self.f3, self.u6, 10)
        save_rating(self.f4, self.u6, 10)
        save_rating(self.f5, self.u6, 10)
        save_rating(self.f6, self.u6, 10)
        save_rating(self.f7, self.u6, 10)
        save_rating(self.f8, self.u6, 10)
        save_rating(self.f9, self.u6, 10)
        save_rating(self.f10, self.u6, 10)
        save_rating(self.f11, self.u6, 10)
        save_rating(self.f12, self.u6, 10)
        save_rating(self.f13, self.u6, 10)
        save_rating(self.f14, self.u6, 10)
        save_rating(self.f15, self.u6, 10)
        save_rating(self.f16, self.u6, 10)
        save_rating(self.f17, self.u6, 10)
        save_rating(self.f18, self.u6, 10)
        save_rating(self.f19, self.u6, 10)
        save_rating(self.f20, self.u6, 10)
        save_rating(self.f21, self.u6, 10)
        save_rating(self.f22, self.u6, 10)
        save_rating(self.f23, self.u6, 10)
        save_rating(self.f24, self.u6, 10)
        save_rating(self.f25, self.u6, 10)
        save_rating(self.f26, self.u6, 10)
        save_rating(self.f27, self.u6, 10)
        save_rating(self.f28, self.u6, 10)
        save_rating(self.f29, self.u6, 10)
        save_rating(self.f30, self.u6, 10)
Example #9
0
    def test_persons( self ):

        fti1 = FilmToImport( user=self.user, title='Nybyggarna',
                imdb_url='http://www.imdb.com/title/tt0069035/', imdb_id='0069035', status=FilmToImport.ACCEPTED )
        fti1.save()

        fti2 = FilmToImport( user=self.user, title='Utvandrarna',
                imdb_url='http://www.imdb.com/title/tt0067919/', imdb_id='0067919', status=FilmToImport.ACCEPTED )
        fti2.save()

        fti3 = FilmToImport( user=self.user, title='Sandade Sandadi',
                imdb_url='http://www.imdb.com/title/tt0338408/', imdb_id='0338408', status=FilmToImport.ACCEPTED )
        fti3.save()

        fti4 = FilmToImport( user = self.user, title = 'Journey to shiloh',
                imdb_url = 'http://www.imdb.com/title/tt0063161/', imdb_id = '0063161', status = FilmToImport.ACCEPTED )
        fti4.save()

        fti5 = FilmToImport( user = self.user, title = 'Guys choice Awards 2011',
                imdb_url = 'http://www.imdb.com/title/tt2023505/', imdb_id = '2023505', status = FilmToImport.ACCEPTED )
        fti5.save()

        self.assertTrue( compare( "Penélope Cruz", "Penélope Cruz", 2 ) )
 
        fti6 = FilmToImport( user=self.user, title='Volver',
                imdb_url='http://www.imdb.com/title/tt0441909/', imdb_id='0441909', status=FilmToImport.ACCEPTED )
        fti6.save()

        fti7 = FilmToImport( user=self.user, title='Gothika',
                imdb_url='http://www.imdb.com/title/tt0348836/', imdb_id='0348836', status=FilmToImport.ACCEPTED )
        fti7.save()
        
        run( False, False, False, False, False, True, "http" )

        self.assertEqual( Film.objects.count(), 7 )
        self.assertEqual( Person.objects.filter( name='Harrison', surname='Ford', imdb_code='0000148', verified_imdb_code=True ).count(), 1 )
        self.assertEqual( Person.objects.filter( name='Yvonne', surname='Oppstedt', imdb_code='0649235', verified_imdb_code=True ).count(), 1 )
        self.assertEqual( Person.objects.filter( name='Sonali', surname='Joshi', imdb_code='1359890', verified_imdb_code=True ).count(), 1 )
        self.assertEqual( Film.objects.filter( character__person__imdb_code='0649235' ).distinct().count(), 2 )
        self.assertEqual( Film.objects.filter( character__person__imdb_code='1359890' ).distinct().count(), 1 )

        # 1. two persons merged
        f1 = Film.objects.get( imdb_code='0338408' )
    
        yvonne = Person.objects.get( imdb_code='0649235' )
        sonali = Person.objects.get( imdb_code='1359890' )

        for ch in Character.objects.filter( person=sonali, film=f1 ):
            ch.person = yvonne
            ch.save()

        self.assertEqual( Film.objects.filter( character__person=yvonne ).distinct().count(), 3 )
        self.assertEqual( Film.objects.filter( character__person=sonali ).distinct().count(), 0 )

        sonali.delete()

        yvonne.imdb_code = '1359890'
        yvonne.verified_imdb_code = False
        yvonne.import_comment = 'imdb name: Sonali Joshi'
        yvonne.save()
        
        # 2. one person with two movies
        f2 = Film.objects.get( imdb_code='2023505' )

        harrison = Person.objects.get( imdb_code='0000148' )

        bad_harrison = Person()
        bad_harrison.name = "Harrison"
        bad_harrison.surname = "Ford"
        bad_harrison.permalink = "harrison-ford-1"
        bad_harrison.type = Person.TYPE_PERSON
        bad_harrison.save()

        for ch in Character.objects.filter( person=harrison, film=f2 ):
            ch.person = bad_harrison
            ch.save()

        harrison.verified_imdb_code = False
        harrison.imdb_code = '111111'
        harrison.save()

        bad_harrison.verified_imdb_code = True
        bad_harrison.imdb_code = '0000148'
        bad_harrison.save()

        self.assertEqual( Film.objects.filter( character__person=harrison ).distinct().count(), 1 )
        self.assertEqual( Film.objects.filter( character__person=bad_harrison ).distinct().count(), 1 )
        self.assertEqual( Person.objects.filter( verified_imdb_code=False ).count(), 2 )
 
        # 3. short imdb code duplicated
        self.assertEqual( Person.objects.filter( imdb_code='0880521', name='Liv', surname='Ullmann' ).count(), 1 )

        liv = Person.objects.get( imdb_code='0880521' )
        liv.permalink = 'liv-ullmann-1'
        liv.save()

        short_liv = Person()
        short_liv.imdb_code = '880521'
        short_liv.name = 'Liv' 
        short_liv.surname = 'Ullmann'
        short_liv.permalink = 'liv-ullmann'
        short_liv.type = Person.TYPE_PERSON
        short_liv.save()
 
        # 4. not verified imdb_code
        self.assertEqual( Person.objects.filter( imdb_code='0005493', name='Justin', surname='Timberlake', verified_imdb_code=True ).count(), 1 )
        
        justin = Person.objects.get( imdb_code='0005493' )
        justin.verified_imdb_code = False
        justin.imdb_code = None
        justin.save()

        self.assertEqual( Person.objects.filter( imdb_code='0873296', name='Jan', surname='Troell', verified_imdb_code=True ).count(), 1 )
        
        jan = Person.objects.get( imdb_code='0873296' )
        jan.verified_imdb_code = False
        jan.save()

        # 5. html entities in name
        self.assertEqual( Person.objects.filter( name='Penélope', surname='Cruz', imdb_code='0004851', verified_imdb_code=True ).count(), 1 )
        
        penelope = Person.objects.get( imdb_code='0004851' )
        gothika = Film.objects.get( imdb_code='0348836' )

        penelope.verified_imdb_code = False
        penelope.imdb_code = '4851'
        penelope.save()

        bad_penelope = Person()
        bad_penelope.name = "Penélope"
        bad_penelope.surname = "Cruz"
        bad_penelope.imdb_code = '0004851'
        bad_penelope.permalink = "penxe9lope-cruz"
        bad_penelope.type = Person.TYPE_PERSON
        bad_penelope.save()

        for ch in Character.objects.filter( person=penelope, film=gothika ):
            ch.person = bad_penelope
            ch.save()

        call_command( 'fix_imported_persons' )

        #for p in Person.objects.all():
        #    print p.verified_imdb_code, p, p.imdb_code, p.import_comment

        self.assertEqual( Person.objects.filter( verified_imdb_code=False ).count(), 1 )
        self.assertEqual( Film.objects.filter( character__person=harrison ).distinct().count(), 2 )
        self.assertEqual( Person.objects.get( pk=yvonne.pk ).import_comment, 'imdb name: Sonali Joshi, not matched movies: 0338408' )
        self.assertEqual( Person.objects.filter( imdb_code='880521' ).count(), 0 )
        self.assertEqual( Person.objects.filter( imdb_code='0880521', name='Liv', surname='Ullmann' ).count(), 1 )
        
        justin = Person.objects.get( pk=justin.pk )
        self.assertEqual( justin.imdb_code, '0005493' )
        self.assertTrue( justin.verified_imdb_code )

        jan = Person.objects.get( pk=jan.pk )
        self.assertEqual( jan.imdb_code, '0873296' )
        self.assertTrue( jan.verified_imdb_code )
        
        self.assertEqual( Person.objects.filter( name='Penélope', surname='Cruz', imdb_code='0004851', verified_imdb_code=True ).count(), 1 )
        acted = Film.objects.filter( character__person=penelope ).distinct()
        self.assertTrue( len( acted ), 2 )