Ejemplo n.º 1
0
def create_movie(movie: schemas.MovieCreate, db: Session = Depends(get_db)):
    db_movie = crud.get_movies_by_title(db, title=movie.title)
    if db_movie:
        raise HTTPException(
            status_code=400,
            detail="Movie already registered with the following title : %s" %
            title)
    return crud.create_movie(db=db, movie=movie)
Ejemplo n.º 2
0
def seed_locations():
    # Load location data from JSON file
    with open('data/locations.json') as f:
        location_data = json.loads(f.read())

    # to create locations
    for location in location_data:
        title, overview, poster_path = (movie['title'], movie['overview'],
                                        movie['poster_path'])
        release_date = datetime.strptime(movie['release_date'], '%Y-%m-%d')

        db_movie = crud.create_movie(title, overview, release_date,
                                     poster_path)
        movies_in_db.append(db_movie)
Ejemplo n.º 3
0
model.connect_to_db(server.app)
model.db.create_all()

with open('data/movies.json') as f:
    movie_data = json.loads(f.read())

# Create movies, store them in list so we can use them
# to create fake ratings later
movies_in_db = []
for movie in movie_data:
    title, overview, poster_path = (movie['title'], movie['overview'],
                                    movie['poster_path'])
    # dictionary. Then, get the release_date and convert it to a
    # datetime object with datetime.strptime
    release_date = datetime.strptime(movie['release_date'], '%Y-%m-%d')

    db_movie = crud.create_movie(title, overview, release_date, poster_path)
    movies_in_db.append(db_movie)

for n in range(10):
    email = f'user{n}@test.com'  # Voila! A unique email!
    password = '******'

    user = crud.create_user(email, password)

    for _ in range(10):
        random_movie = choice(movies_in_db)
        score = randint(1, 5)

        crud.create_rating(user, random_movie, score)
Ejemplo n.º 4
0
os.system('dropdb ratings')
os.system('createdb ratings')
model.connect_to_db(server.app)
model.db.create_all()

# read in movie data to movie_data variable
with open('data/movies.json') as f:
    movie_data = json.loads(f.read())

movie_list = []

# populate movies database
for movie in movie_data:
    release_date = datetime.strptime(movie['release_date'], '%Y-%m-%d')

    curr_movie = crud.create_movie(movie['title'], movie['overview'], release_date, movie['poster_path'])
    movie_list.append(curr_movie)

# generate 10 random users
for n in range(10):
    email = f'user{n}@test.com'
    password = '******'
    
    curr_user = crud.create_user(email, password)

    # Make each user make 10 ratings
    for userratings in range(10):
        # Randomly choose a Movie to rate
        random_movie = choice(movie_list)
        # Rate 1-5
        score = randint(1, 5)
Ejemplo n.º 5
0
def create_movie(movie: schemas.MovieCreate, db: Session = Depends(get_db)):
    # receive json movie without id and return json movie from database with new id
    return crud.create_movie(db=db, movie=movie)
Ejemplo n.º 6
0
import server

os.system('dropdb ratings')
os.system('createdb ratings')

model.connect_to_db(server.app)
model.db.create_all()

with open('data/movies.json') as f:
    movie_data = json.loads(f.read())
    #create_movie(title, overview, release_date, poster_path)
    list_movies = []
    for movie in movie_data:
        format = '%Y-%m-%d'
        date = datetime.strptime(movie['release_date'], format)
        new_movie = crud.create_movie(movie['title'], movie['overview'], date,
                                      movie['poster_path'])
        list_movies.append(
            new_movie)  #just movie or key into each aspect of the movie

for n in range(10):
    email = f'user{n}@test.com'
    password = '******'

    user = crud.create_user(
        email, password
    )  #OR create_user(email,password) because we can't changed saved variable
    #randint a movie from list_movies
    #randint a score from range(1,5)
    #create_rating(user, rand_movie, rand_score)
    for i in range(10):
        rand_movie = choice(list_movies)
Ejemplo n.º 7
0
model.connect_to_db(server.app)
model.db.create_all()

with open('data/movies.json') as f:
    movie_data = json.loads(f.read())

# Create movies, store them in list so we can use them
# to create fake ratings later
movies_in_db = []
for movie in movie_data:
    title = movie.get('title')
    overview = movie.get('overview')
    poster_path = movie.get('poster_path')
    datetime_str = movie.get('release_date')
    format = "%Y-%m-%d"
    datetime = datetime.strptime(datetime_str, format)

    new_movie = crud.create_movie(title, overview, datetime, poster_path)

    movies_in_db.append(new_movie)

for n in range(10):
    email = f'user{n}@test.com'  # Voila! A unique email!
    password = '******'
    user = crud.create_user(email, password)

    for n in range(10):
        random_movie = choice(movies_in_db)
        rating = randint(1, 5)
        new_rating = crud.create_rating(user, random_movie, rating)
Ejemplo n.º 8
0
movies_in_db = []

for movie in movie_data:
    title = movie["title"]
    overview = movie["overview"]
    poster_path = movie["poster_path"]
   
    # We aren't actually using release_date since datetime was causing us problems,
    # the stuff below is just for practice, but won't be passed.
    not_release_date = movie["release_date"]
    # "2020-03-13"
    format = "%Y-%m-%d"
    release_date = datetime.strptime(not_release_date, format)

    # db_movie is the movie we create using CRUD for each of the json dictionaries
    db_movie = crud.create_movie(title, overview, poster_path)

    movies_in_db.append(db_movie)

users_in_db = []
ratings_in_db = []

for n in range(10):
    email = f'user{n}@test.com'  # Voila! A unique email!
    password = '******'

    db_user = crud.create_user(email, password)

    users_in_db.append(db_user)

    # each of these loops will make a new rating (10 total).
for data in data_json:
    movie_dict[data['title']] = data['id']

# for movie in movie_dict:

movie_dict_v2 = {}
for data in data_json:
    movie_dict_v2[data['title']] = [
        data['id'], data['description'], data['director'], data['producer'],
        data['release_date'], data['rt_score']
    ]

for movie in movie_dict_v2:
    title = movie_dict_v2[movie]
    ids, description, director, producer, release_date, rt_score = title
    crud.create_movie(ids, movie, description, director, producer,
                      release_date, rt_score)

poster_path_dict = {}
for mov in movie_dict:
    movie_id = movie_dict[mov]
    params = {
        "api_key": "97ba3bbccb7a848bfd2d5f611541de24",
        "query": mov,
        "original_language": "ja"
    }
    res = requests.get('https://api.themoviedb.org/3/search/movie',
                       params=params)

    output = res.json()['results']
    poster_path = output[0]['poster_path']
    vote = output[0]['vote_count']
Ejemplo n.º 10
0
# Seed movies and cast_crew tables
for movie in search_results:
    movie_imdb = ia.search_movie(movie['title'])[0] # first movie in imdb db with title from sg api

    title = movie['title']
    year_released = movie['release_date']
    overview = movie['description']
    duration = movie_imdb.get('runtime', None)
    api_movie_id = movie['id']
    image_url = movie_imdb['full-size cover url']

    director = movie.get('director', None)
    producer = movie.get('producer', None)
    
    movie = crud.create_movie(title, year_released, overview, duration, api_movie_id, image_url)
    
    crud.create_cast_crew(movie.movie_id, director, 'director')
    crud.create_cast_crew(movie.movie_id, producer, 'producer')
    
    movies_in_db.append(movie)

# User
    # Rating
    # Review
    # MovieSeen
    # WantToWatch

# randomly generate 10 users each with 5 ratings and 2 reviews
# users also have 3 movies each on movieseen and watchlist
for n in range(10):
Ejemplo n.º 11
0
# seed movie data
## get movie data from file
with open('data/movies.json') as f:
    movie_data = json.loads(f.read())

## store movies in list
movies_in_db = []

## create movie for each item in movie_data and add them to movies_in_db
for entry in movie_data:
    # process the release date string into datetime type
    format = '%Y-%m-%d'
    date = datetime.strptime(entry['release_date'], format)

    movie = crud.create_movie(entry['title'], entry['overview'], date,
                              entry['poster_path'])

    movies_in_db.append(movie)

# seed fake test users
## create 10 users, each with 10 ratings
for n in range(10):
    email = f'user{n}@test.com'  # unique email
    password = '******'

    user = crud.create_user(email, password)

    for _ in range(10):
        movie = choice(movies_in_db)
        score = randint(1, 5)
Ejemplo n.º 12
0
def create_movie(movie: schemas.MovieCreate, db: Session = Depends(get_db)):
    return crud.create_movie(db=db, movie=movie)
Ejemplo n.º 13
0
    # TODO: get the title, overview, and poster_path from the movie
    # dictionary.
    title, overview, poster_path = (movie['title'], movie['overview'],
                                    movie['poster_path'])

    # Then, get the release_date and convert it to a
    # datetime object with datetime.strptime

    release_date = movie['release_date']
    date = datetime.strptime(release_date, "%Y-%m-%d")

    # TODO: create a movie here and append it to movies_in_db

    movie = crud.create_movie(title=title,
                              overview=overview,
                              poster_path=poster_path,
                              release_date=date)
    movies_in_db.append(movie)

for n in range(10):
    email = f'user{n}@test.com'  # Voila! A unique email!
    password = '******'

    # TODO: create a user here
    user = crud.create_user(email, password)

    # TODO: create 10 ratings for the user
    for individual_rating in range(10):
        movie_choice = choice(movies_in_db)
        score = randint(1, 5)
        crud.create_rating(user, movie_choice, score)
Ejemplo n.º 14
0
# Create movies, store them in list so we can use them
# to create fake ratings later

movies_in_db = []

for movie in movie_data:

    format1 = "%Y-%m-%d"

    mov_title = movie['title']
    mov_overview = movie['overview']
    mov_poster_path = movie['poster_path']
    mov_release_date = datetime.strptime(movie['release_date'], format1)

    new_movie = crud.create_movie(mov_title, mov_overview, mov_release_date,
                                  mov_poster_path)

    movies_in_db.append(new_movie)

for n in range(10):

    email = f'user{n}@test.com'
    password = '******'

    new_user = crud.create_user(email, password)

    for i in range(10):

        current_movie = choice(movies_in_db)
        current_score = randint(1, 5)
Ejemplo n.º 15
0
import crud
import model
import server

os.system('dropdb ratings')
os.system('createdb ratings')

model.connect_to_db(server.app)
model.db.create_all()

with open('data/movies.json') as f:
    movie_data = json.loads(f.read())

movies_in_db = []
for movie in movie_data:
    movies_in_db.append(
        crud.create_movie(movie['title'], movie['overview'],
                          datetime.strptime(movie['release_date'], "%Y-%m-%d"),
                          movie['poster_path']))

users_in_db = []
for n in range(10):
    email = f'user{n}@test.com'
    password = '******'
    user = crud.create_user(email, password)
    users_in_db.append(user)

    for m in range(10):
        movie = choice(movies_in_db)
        score = randint(1, 5)
        crud.create_rating(score, movie, user)
Ejemplo n.º 16
0
# Load data from data/movies.json
with open('data/movies.json') as filename:
    movie_data = json.loads(filename.read())  # reads data into var movie_data

# Create movies, store them in list so we can use them
# to create fake ratings later
movies_in_db = []
for movie in movie_data:
    title = movie['title']
    overview = movie['overview']
    poster_path = movie['poster_path']
    release_date = datetime.strptime(movie['release_date'], "%Y-%m-%d")

    movie = crud.create_movie(
        title, overview, release_date,
        poster_path)  # adds movie to db, import from crud.py

    movies_in_db.append(movie)  # adds movie to movies_in_db list

# Generate 10 users, each with 10 ratings.
# Use choice to get a random movie from movies_in_db
# and use randint to generate a random number between 1–5.
for n in range(10):
    email = f'user{n}@test.com'
    password = '******'

    user = crud.create_user(email, password)

    # Generate random ratings for 10 random movies.
    for m in range(10):