Esempio n. 1
0
 def test_model_vertigo_should_have_year_director_alfred_hitchcock(self):
     vertigo = models.MovieLocation(
         title="Vertigo",
         year=1958,
         location="San Francisco Drydock (20th and Illinois Streets)",
         fun_fact="",
         production_company="Alfred J. Hitchcock Productions",
         distributor="Paramount Pictures",
         director="Alfred Hitchcock",
         writer="Alec Coppel",
         actor_1="James Stewart",
         actor_2="Kim Novak",
         latitude=37.7561141,
         longitude=-122.3871395)
     assert vertigo.director == 'Alfred Hitchcock'
Esempio n. 2
0
 def test_model_greed_should_have_actor_zasu_pitts(self):
     greed = models.MovieLocation(
         title='Greed',
         year=1924,
         location='Hayes Street at Laguna',
         fun_fact='',
         production_company='Metro-Goldwyn-Mayer (MGM)',
         distributor='Metro-Goldwyn-Mayer (MGM)',
         director='Eric von Stroheim',
         writer='Eric von Stroheim',
         actor_1='Zasu Pitts',
         actor_2='',
         actor_3='Cloris Leachman',
         latitude=37.7764647,
         longitude=-122.4262985)
     assert greed.actor_1 == 'Zasu Pitts'
Esempio n. 3
0
 def test_jsonify_movie_location_should_preserve_fields(self):
     vertigo = models.MovieLocation(
         title="Vertigo",
         year=1958,
         location="San Francisco Drydock (20th and Illinois Streets)",
         fun_fact="",
         production_company="Alfred J. Hitchcock Productions",
         distributor="Paramount Pictures",
         director="Alfred Hitchcock",
         writer="Alec Coppel",
         actor_1="James Stewart",
         actor_2="Kim Novak",
         latitude=37.7561141,
         longitude=-122.3871395)
     jsonVertigo = api.jsonify_movie_location(vertigo)
     assert jsonVertigo['writer'] == "Alec Coppel"
Esempio n. 4
0
        production_company = movie['production_company'].strip() if 'production_company' in movie else ""
        distributor = movie['distributor'].strip() if 'distributor' in movie else ""
        director = movie['director'].strip() if 'director' in movie else ""
        writer = movie['writer'].strip() if 'writer' in movie else ""
        actor_1 = movie['actor_1'].strip() if 'actor_1' in movie else ""
        actor_2 = movie['actor_2'].strip() if 'actor_2' in movie else ""
        actor_3 = movie['actor_3'].strip() if 'actor_3' in movie else ""

        # Create model object
        movieObj = models.MovieLocation(title=title,
                                        year=year,
                                        location=location,
                                        fun_fact=fun_fact,
                                        production_company=production_company,
                                        distributor=distributor,
                                        director=director,
                                        writer=writer,
                                        actor_1=actor_1,
                                        actor_2=actor_2,
                                        actor_3=actor_3,
                                        latitude=latitude,
                                        longitude=longitude)

        # Add to transaction
        db.session.add(movieObj)

    # Commit transaction
    db.session.commit()
    print "Script finished successfully"

def main():
def main():
    """Reads a JSON file containing movie locations and imports them into the
    application database.

    Performs minor of input validation.
    """

    # Validate input
    if len(sys.argv) < 2:
        print "No JSON file specified, exiting script."
        return None

    filePath = sys.argv[1]

    # Read JSON file
    print "Reading JSON file"
    fileIn = open(filePath, 'r')
    movies = json.load(fileIn)
    fileIn.close()

    print "Parsing Movie objects"
    for movie in movies:

        # filter movies lacking minimum requirements for being interesting
        if 'locations' not in movie or 'title' not in movie \
           or 'release_year' not in movie or 'latitude' not in movie \
           or 'longitude' not in movie:
            continue

        # Extract fields
        location = movie['locations'].strip()
        title = movie['title'].strip()
        year = int(movie['release_year'].strip())
        latitude = movie['latitude']
        longitude = movie['longitude']

        fun_fact = movie['fun_facts'].strip() if 'fun_facts' in movie else ""
        production_company = movie['production_company'].strip(
        ) if 'production_company' in movie else ""
        distributor = movie['distributor'].strip(
        ) if 'distributor' in movie else ""
        director = movie['director'].strip() if 'director' in movie else ""
        writer = movie['writer'].strip() if 'writer' in movie else ""
        actor_1 = movie['actor_1'].strip() if 'actor_1' in movie else ""
        actor_2 = movie['actor_2'].strip() if 'actor_2' in movie else ""
        actor_3 = movie['actor_3'].strip() if 'actor_3' in movie else ""

        # Create model object
        movieObj = models.MovieLocation(title=title,
                                        year=year,
                                        location=location,
                                        fun_fact=fun_fact,
                                        production_company=production_company,
                                        distributor=distributor,
                                        director=director,
                                        writer=writer,
                                        actor_1=actor_1,
                                        actor_2=actor_2,
                                        actor_3=actor_3,
                                        latitude=latitude,
                                        longitude=longitude)

        # Add to transaction
        db.session.add(movieObj)

    # Commit transaction
    db.session.commit()
    print "Script finished successfully"