def favorite_recipe(): """Add a recipe to our database""" spoonacular_id = request.form.get("recipeId") recipe_title = request.form.get("recipeTitle") recipe_url = request.form.get("recipeUrl") # print("in save*****************") # query the recipe table by id to see if this recipe # is already in the database. recipe = Recipe.query.get(spoonacular_id) if not recipe: new_recipe = Recipe(spoonacular_id=spoonacular_id, title=recipe_title, url=recipe_url) db.session.add(new_recipe) db.session.commit() fav_recipe = Favorite.query.filter_by(user_id=session["user_id"], spoonacular_id=spoonacular_id).first() if not fav_recipe: # next, add to the favorite table. fav_recipe = Favorite(user_id=session["user_id"], spoonacular_id=spoonacular_id) db.session.add(fav_recipe) db.session.commit() results = {"message": "Your recipe saved.", "recipe_id": spoonacular_id} return jsonify(results)
def add_favorite_db(): """add a favorite to db""" if "user_id" in session: sku_id = request.form.get("sku_id") user = User.query.get(session["user_id"]) check_favorite = Favorite.query.filter( Favorite.user_id == user.user_id, Favorite.sku_id == sku_id).first() # check to see if the sku that the user click heart on is already in favorites # if the sku does not exist, add to favorites and turn heart red if check_favorite is None: user_favorite = Favorite(sku_id=sku_id, user_id=user.user_id) db.session.add(user_favorite) db.session.commit() return jsonify({"status": "ok"}) # if the sku already exists in favorites and user clicks heart, then unheart product # and remove the sku from favorites else: db.session.delete(check_favorite) db.session.commit() return jsonify({"status": "deleted"}) else: return redirect("/login")
def favorite(): """If favorite exists, un-favorite, i.e. delete from table. Otherwise, add favorite.""" user_id = session["user_id"] place_id = request.form.get("place_id")[4:] existing_favorite = Favorite.query.filter_by(user_id=user_id, place_id=place_id).first() favorite = {"place_id": place_id, "is_favorite": False} # if user has already favorited the place, un-favorite, i.e. delete from db. if existing_favorite: db.session.delete(existing_favorite) db.session.commit() # if user has not favorited the place, favorite it, i.e., create entry in db. else: favorite['is_favorite'] = True new_favorite = Favorite(place_id=place_id, user_id=user_id) db.session.add(new_favorite) db.session.commit() favorite_info = Place.query.filter_by(place_id=place_id).first() favorite_data = { 'place_id': favorite_info.place_id, 'maps_name': favorite_info.maps_name, 'lat': favorite_info.lat, 'lng': favorite_info.lng, 'is_favorite': favorite['is_favorite'] } return jsonify(favorite_data)
def sample_favorite(): """ Add sample favorite to DB """ print "Sample Favorite" fav = Favorite(user_id=1, restaurant_id=1, favorite=True) db.session.add(fav) db.session.commit()
def create_fav(user_id, thrpst_id): """Create and return a new favorite.""" favorite = Favorite(user_id=user_id, thrpst_id=thrpst_id) db.session.add(favorite) db.session.commit() return favorite
def create_favorite(user_id, route_id): """User favorites a route""" favorite = Favorite(user_id=user_id, route_id=route_id) db.session.add(favorite) db.session.commit() return favorite
def create_favorite(user_id, recipe_id): """Given a user_id and recipe_id, create and return a favorite.""" favorite = Favorite(user_id=user_id, recipe_id=recipe_id) db.session.add(favorite) db.session.commit() return favorite
def create_favorite(user, trail): """Create and return a favorited trail.""" favorite = Favorite(user = user, trail = trail) db.session.add(favorite) db.session.commit() return favorite
def create_fav(user_id, mw_id): """Create and return a new user""" favorite = Favorite( user_id=user_id, mw_id=mw_id) db.session.add(favorite) db.session.commit() return favorite
def example_data(): lalitha = User(email="*****@*****.**", password="******") fluffy = User( email="*****@*****.**", password= "******") dall = Recipe(title="dall") lalitha_fav = Favorite(user=lalitha, recipe=dall) db.session.add_all([lalitha, dall]) mushroom_curry = Recipe(title="mushroom curry") db.session.add(mushroom_curry) sambar = Recipe(title="sambar") db.session.add(sambar) jessica = User(email="*****@*****.**", password="******") jessica_fav = Favorite(user=jessica, recipe=sambar) db.session.add(jessica) db.session.commit()
def add_favorite(): """Add favorited song to db.""" song_id = int(request.form.get('song_id')) current_user = session['user'] # add data to db that song is a favorite new_favorite = Favorite(song_id=song_id, user_id=current_user) db.session.add(new_favorite) db.session.commit() print "adding song_id {} as favorite in db".format(song_id) return jsonify({'success': True, 'song_id': song_id})
def add_to_favorite(): """Adds dog to favorites.""" user_id = session["user_id"] petfinder_id = request.form.get("petfinder_id") shelter_id = request.form.get("shelter") adopted_status = request.form.get("status") img_url = request.form.get("url") breed = request.form.get("breed") age = request.form.get("age") name = request.form.get("name") ##TODO check that user is logged in dog_exists_in_db = Dog.query.get(petfinder_id) if dog_exists_in_db is None: new_dog = Dog(petfinder_id=petfinder_id, shelter_id=shelter_id, adopted_status=adopted_status, img_url=img_url, age=age, breed=breed, name=name) db.session.add(new_dog) db.session.commit() fave_exists_in_db = Favorite.query.filter_by(petfinder_id=petfinder_id, user_id=user_id).first() if fave_exists_in_db is None: fave_dog = Favorite(petfinder_id=petfinder_id, user_id=user_id) db.session.add(fave_dog) db.session.commit() response = {'status': "success", 'id': petfinder_id} else: remove_fave_dog = Favorite.query.filter_by( user_id=user_id, petfinder_id=petfinder_id).one() db.session.delete(remove_fave_dog) db.session.commit() response = {'status': "successfully removed", 'id': petfinder_id} return jsonify(response)
def load_favorites(): print("Favorites") Favorite.query.delete() """Load favorites into database.""" for row in open("seed_data/favorites_data.txt"): row = row.rstrip() user_id, bird_id = row.split("|") favorite = Favorite(user_id=user_id.strip(), bird_id=bird_id.strip()) db.session.add(favorite) db.session.commit()
def load_favorites(): """Load favorites from u.data into database.""" print "Favorites" Favorite.query.delete() for row in open("seed_data/u.data"): row = row.rstrip() user_id, song_id = row.split("\t") favorite = Favorite(user_id=user_id, song_id=song_id) db.session.add(favorite) db.session.commit()
def favorite(): site_id = request.form['path'] favorite_in_db = Favorite.query.filter_by(user_id=session['user_id'], site_id=site_id).first() if favorite_in_db: return "Site is already in your favorites" else: favorite = Favorite(user_id=session['user_id'], site_id=site_id) db.session.add(favorite) db.session.commit() return "Saved to your favorites"
def load_favorites(): """Load favorites from seed data into database""" print "Favorites" with open("seed_data/favorites.txt") as favorites: for favorite in favorites: favorite = favorite.rstrip() favorite_id, user_id, listing_id = favorite.split("|") favorite = Favorite(favorite_id=favorite_id, user_id=user_id, listing_id=listing_id) db.session.add(favorite) db.session.commit()
def add_or_remove_favorite(): listing_id = request.form.get("listing") user_id = flask_session["user"] # check if user has already favorited that listing existing_fav = db.session.query(Favorite).filter(Favorite.user_id == user_id).filter(Favorite.listing_id == listing_id).first() if existing_fav != None: db.session.delete(existing_fav) else: new_favorite = Favorite() new_favorite.user_id = user_id new_favorite.listing_id = listing_id db.session.add(new_favorite) db.session.commit() return "favorite added or removed"
def add_remove_favorite(bird_id): """Adds or removes bird from favorites table""" print('favoriting a bird with id {}'.format(bird_id)) favorite = Favorite(bird_id=bird_id, user_id=session['user_id']) check_favorite = Favorite.query.filter( (Favorite.user_id == session['user_id']), (Favorite.bird_id == bird_id)) if check_favorite: db.session.delete(check_favorite) db.session.commit() else: db.session.add(favorite) db.session.commit() return "Success!"
def update_favorites(): """Handle adding/removing favorite parks by the popup favorite button. If the user is logged in, add or remove favorites in the database. Otherwise, add or remove favorites in the session. """ park_id = request.form.get('id') class_id = request.form.get('class') class_value = {'favorite': True, 'not_favorite': False} user = session.get('user') if user: # First check whether user has favorited park before. favorited = Favorite.query.filter( Favorite.fav_park_id == park_id, Favorite.fav_user_id == user).first() if favorited: # print "This park is in the favorites db", favorited.fav_park_id # Unfavorite park by setting favorite property to False in the db. favorited.favorite = class_value[class_id] # print "If False, removing this park from favorites db. If True, adding to favorites db", favorited.favorite db.session.add(favorited) db.session.commit() return jsonify(status='successfully changed favorite') else: # Instantiate a favorite object with the information provided. favorite = Favorite(fav_park_id=park_id, fav_user_id=user) # print "This park is being added to user's favorites", favorite.fav_park_id db.session.add(favorite) db.session.commit() return jsonify(status='successfully added favorite') else: pass
def update_favorites(): """The user clicked to update their favorites. This checks whether or not to remove the athlete in the session as a favorite""" check_favorite = Favorite.query.filter( Favorite.favorited_item == session["athlete_id"]).first() route = f'/athletes/{session["athlete_id"]}' if check_favorite is None: new_update = Favorite(id=current_user.id, favorited_item=session["athlete_id"]) db.session.add(new_update) else: db.session.delete(check_favorite) db.session.commit() return redirect(route)
def load_favorites(): """Load favorites from favorites.txt into database.""" print("Favorites") for i, row in enumerate(open("seed_data/favorites.txt")): row = row.rstrip() favorite_id, place_id, user_id = row.split('|') favorite = Favorite(favorite_id=favorite_id, place_id=place_id, user_id=user_id) db.session.add(favorite) # provide some sense of progress if i % 100 == 0: print(i) db.session.commit()
def add_favorite(): """Add user's favorite restaurant to database.""" restaurant_id = int(request.args.get("restaurant_id")) restaurant = Restaurant.query.filter( Restaurant.restaurant_id == restaurant_id).one() if not session.get("user_id"): flash("Please sign in or register to favorite %s" % restaurant.name, "error") return redirect("/login") else: user_id = session["user_id"] # Get list of user's favorites from database db_user_favorites = Favorite.query.filter( Favorite.user_id == user_id).all() user_favorites = [] for d in db_user_favorites: user_favorites.append(d.restaurant_id) # If current restaurant is not already one of user's favorites, # add it to the database if restaurant_id not in user_favorites: new_favorite = Favorite(restaurant_id=restaurant_id, user_id=user_id) db.session.add(new_favorite) db.session.commit() else: fav = Favorite.query.filter( Favorite.restaurant_id == restaurant_id, Favorite.user_id == user_id).one() db.session.delete(fav) db.session.commit() return str(restaurant_id)
def add_user_favorite(): """Adds bird to database if not already in database, Adds species code/user id pair to favorites if not already in database """ common_name = request.form.get('comName') scientific_name = request.form.get('sciName') species_code = request.form.get('speciesCode') # get bird by matching common name, could also match species code bird = Bird.query.filter(Bird.common_name == common_name).first() user_id = session['user_id'] user = User.query.get(session['user_id']) photo_id = get_photos_by_text(common_name) image_url = get_bird_pic_flickr(photo_id) image_index = image_url[0] print("PHOTO ID IS: ") print(photo_id) print("IMAGE URLS IS: ") print(image_url) print(type(image_url)) if not bird: print("Bird does not exist in db!") bird = Bird(common_name=common_name, scientific_name=scientific_name, species_code=species_code, image=image_index) db.session.add(bird) db.session.commit() print("Bird added, yay!") favorite = Favorite(user_id=session['user_id'], bird_id=bird.bird_id) db.session.add(favorite) db.session.commit() flash("Yay, added!") return redirect('/birds/' + species_code)
def favorite_studio(): """Add favorite to database""" #get studio info from ajax request studio_id = request.form.get("studio_id") #get user id from session user_id = session['user'] #instantiate favorite and add/commit to db favorite = Favorite.query.filter(Favorite.user_id == user_id, Favorite.studio_id == studio_id).all() #add favorite to database if it doesn't already exist if not favorite: favorite = Favorite(user_id=user_id, studio_id=studio_id) db.session.add(favorite) db.session.commit() favorite_id = favorite.favorite_id session['favorite'] = favorite_id return jsonify({'favorite_studio': 'success'})
def add_to_favorite(recipe_id): """Adds recipe to user's personal collection. """ user_id = session['logged_in_user'] # favorites = Favorite.query.filter_by(user_id=user_id, recipe_id=recipe_id).all() user_favorite = User.query.get(user_id) #[<Favorite favorite_id=1, user_id=1, recipe_id=1>, <Favorite favorite_id=3, user_id=1, recipe_id=6>] user_favorites_list = user_favorite.favorites user_favorits_recipe_ids = [ favorite.recipe_id for favorite in user_favorites_list ] if recipe_id not in user_favorits_recipe_ids: favorite = Favorite(recipe_id=recipe_id, user_id=user_id) db.session.add(favorite) db.session.commit() #flash("Added to favorites.") #else: #flash("The recipe is in favprites already.") return redirect('/favorites')
def record_favorites(): trail_id = request.form.get("trailId") user_id = session["user_id"]["user_id"] trail_name = request.form.get("trailName") tag_id = request.form.get("id") trail = Trail.query.get(trail_id) if not trail: new_trail = Trail(trail_id=trail_id, trail_name=trail_name) db.session.add(new_trail) db.session.commit() existing_favorite = Favorite.query.filter_by(trail_id=trail_id, user_id=user_id).first() if existing_favorite: db.session.delete(existing_favorite) response = { 'trailName': '%s has been removed from your Favorites list.' % (trail_name), 'id': tag_id } else: new_favorite = Favorite(trail_id=trail_id, user_id=user_id) db.session.add(new_favorite) response = { 'trailName': '%s has been added to your Favorites list.' % (trail_name), 'id': tag_id } db.session.commit() return jsonify(response)
def add_custom(bot, update, username): uid = util.uid_from_update(update) user = User.from_update(update) mid = util.mid_from_update(update) from components.basic import main_menu_buttons main_menu_markup = ReplyKeyboardMarkup(main_menu_buttons(uid in settings.MODERATORS)) try: fav = Favorite.get(custom_bot=username) util.send_or_edit_md_message( bot, uid, mdformat.none_action( "{} is already a favorite of yours. /favorites".format(fav.custom_bot)), to_edit=mid, reply_markup=main_menu_markup) except Favorite.DoesNotExist: fav = Favorite(user=user, custom_bot=username, date_added=datetime.date.today()) fav.save() msg = bot.formatter.send_or_edit(uid, mdformat.love("{} added to your /favorites.".format(fav.custom_bot)), to_edit=mid) mid = msg.message_id util.wait(bot, update) send_favorites_list(bot, update, to_edit=mid) return ConversationHandler.END
def add_favorite(user_id, listing_id): """add a favorite""" db.session.add(Favorite(user_id=user_id, listing_id=listing_id)) db.session.commit()
def example_data(): UserImage.query.delete() Favorite.query.delete() Review.query.delete() Brand.query.delete() Foundation.query.delete() Recommendation.query.delete() User.query.delete() new_user = User(fname="Bobby", lname="Bob", email="*****@*****.**", create_date=datetime.datetime.utcnow(), birthday="1991-01-12 00:00:00") new_user.set_password("1234") db.session.add(new_user) db.session.commit() new_image = UserImage( hex_code="#BA977D", user_id=1, time_stamp=datetime.datetime.utcnow(), image_location= "/home/vagrant/src/Foundation_Project/static/uploads/girl-glowing-skin-blue-eyes.jpg" ) db.session.add(new_image) db.session.commit() new_brand = Brand( product_id="P87985432", brand_name="FENTY BEAUTY by Rihanna", display_name="Pro Filt'r Soft Matte Longwear Foundation", target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432", rating=4.09740000000000038) db.session.add(new_brand) db.session.commit() new_brand_2 = Brand( product_id="P400888", brand_name="Black Up", display_name="Matifying Fluid Foundation", target_url="www.sephora.com/product/matifying-fluid-foundation-P400888", rating=4.2727) db.session.add(new_brand_2) db.session.commit() new_brand_3 = Brand( product_id="P432234", brand_name="Lawless", display_name="Woke Up Like This Flawless Finish Foundation", target_url= "www.sephora.com/product/woke-up-like-this-flawless-finish-foundation-P432234", rating=3.9836) db.session.add(new_brand_3) db.session.commit() new_brand_4 = Brand( product_id="P427301", brand_name="NARS", display_name="Natural Radiant Longwear Foundation", target_url= "www.sephora.com/product/natural-radiant-longwear-foundation-P427301", rating=3.6461) db.session.add(new_brand_4) db.session.commit() new_foundation = Foundation( sku_id=1925148, product_id="P87985432", foundation_hex_code="#F6D4C4", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925148", shade_image_url="www.sephora.com/productimages/sku/s1925148+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925148-main-Lhero.jpg") db.session.add(new_foundation) db.session.commit() new_foundation_2 = Foundation( sku_id=1925155, product_id="P87985432", foundation_hex_code="#F4D6B9", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925155", shade_image_url="www.sephora.com/productimages/sku/s1925155+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925155-main-Lhero.jpg") db.session.add(new_foundation_2) db.session.commit() new_foundation_3 = Foundation( sku_id=1925163, product_id="P87985432", foundation_hex_code="#EFD1B3", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925163", shade_image_url="www.sephora.com/productimages/sku/s1925163+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925163-main-Lhero.jpg") db.session.add(new_foundation_3) db.session.commit() new_foundation_4 = Foundation( sku_id=1925171, product_id="P87985432", foundation_hex_code="#E8D2BB", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925171", shade_image_url="www.sephora.com/productimages/sku/s1925171+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925171-main-Lhero.jpg") db.session.add(new_foundation_4) db.session.commit() new_foundation_5 = Foundation( sku_id=1925189, product_id="P87985432", foundation_hex_code="#F2CCB2", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925189", shade_image_url="www.sephora.com/productimages/sku/s1925189+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925189-main-Lhero.jpg") db.session.add(new_foundation_5) db.session.commit() new_foundation_6 = Foundation( sku_id=1925197, product_id="P87985432", foundation_hex_code="#EDC8B4", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925197", shade_image_url="www.sephora.com/productimages/sku/s1925197+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925197-main-Lhero.jpg") db.session.add(new_foundation_6) db.session.commit() new_foundation_7 = Foundation( sku_id=11925205, product_id="P87985432", foundation_hex_code="#EECDB1", foundation_target_url= "www.sephora.com/product/pro-filtr-soft-matte-longwear-foundation-P87985432?skuId=1925205", shade_image_url="www.sephora.com/productimages/sku/s1925205+sw.jpg", hero_image_url= "https://www.sephora.com/productimages/sku/s1925205-main-Lhero.jpg") db.session.add(new_foundation_7) db.session.commit() new_review = Review(user_id=1, product_id="P87985432", review_content="best brand ever ever") db.session.add(new_review) db.session.commit() new_recommendation = Recommendation(image_id=1, sku_id=1925148, user_id=1) db.session.add(new_recommendation) db.session.commit() new_recommendation_2 = Recommendation(image_id=1, sku_id=1925155, user_id=1) db.session.add(new_recommendation_2) db.session.commit() new_recommendation_3 = Recommendation(image_id=1, sku_id=1925163, user_id=1) db.session.add(new_recommendation_3) db.session.commit() new_recommendation_4 = Recommendation(image_id=1, sku_id=1925171, user_id=1) db.session.add(new_recommendation_4) db.session.commit() new_recommendation_5 = Recommendation(image_id=1, sku_id=1925189, user_id=1) db.session.add(new_recommendation_5) db.session.commit() new_recommendation_6 = Recommendation(image_id=1, sku_id=1925197, user_id=1) db.session.add(new_recommendation_6) db.session.commit() new_favorite = Favorite(sku_id=1925148, user_id=1) db.session.add(new_favorite) db.session.commit()