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)
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)
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)
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)
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)
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)
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)
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']
# 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):
# 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)
def create_movie(movie: schemas.MovieCreate, db: Session = Depends(get_db)): return crud.create_movie(db=db, movie=movie)
# 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)
# 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)
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)
# 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):