def connect_shoplist_with_ingredients_and_user(ingredients, user_id, shoplist_name): session = Session() now = datetime.datetime.now() date = now.strftime("%Y-%m-%d %H:%M:%S") newshopList = ShopList(shoplist_name, str(date)) new_user = session.query(User).filter(User.id == user_id).first() new_ingredients = (session.query(Ingredient).filter( Ingredient.ingredient.in_(ingredients)).all()) old_ings = [] for ing in new_ingredients: old_ings.append(ing.ingredient) for new_ing in ingredients: if new_ing not in old_ings: insert_new_ingredient(new_ing) new_ingredients = (session.query(Ingredient).filter( Ingredient.ingredient.in_(ingredients)).all()) newshopList.users.append(new_user) newshopList.ingredients.extend(new_ingredients) session.add(newshopList) session.commit() session.close()
def connect_recipe_with_ingredients_and_user( rec_title, rec_instructions, rec_ingredients, scrape_url, rec_image, rec_calories, rec_carbs, rec_fibre, rec_sugar, rec_protein, rec_fats, rec_sat_fats, rec_serving, user_id, ): session = Session() newRecipe = Recipe( rec_title, rec_instructions, scrape_url, rec_image, rec_calories, rec_carbs, rec_fibre, rec_sugar, rec_protein, rec_fats, rec_sat_fats, rec_serving, ) new_user = session.query(User).filter(User.id == user_id).first() new_ingredients = (session.query(Ingredient).filter( Ingredient.ingredient.in_(rec_ingredients)).all()) old_ings = [] for ing in new_ingredients: old_ings.append(ing.ingredient) for new_ing in rec_ingredients: if new_ing not in old_ings: insert_new_ingredient(new_ing) new_ingredients = (session.query(Ingredient).filter( Ingredient.ingredient.in_(rec_ingredients)).all()) newRecipe.users.append(new_user) newRecipe.ingredients.extend(new_ingredients) session.add(newRecipe) session.commit() session.close()
def connect_recipe_with_ingredients(rec_id, ing_ids): session = Session() recipe = session.query(Recipe).filter(Recipe.id == rec_id).first() # get ingredients for recipe ingredients = session.query(Ingredient).filter( Ingredient.id.in_(ing_ids)).all() recipe.ingredients = ingredients session.add(recipe) session.commit() session.close()
def connect_user_with_recipe(user_id, rec_id): session = Session() user = session.query(User).filter(User.id == user_id).first() new_recipe = session.query(Recipe).filter(Recipe.id == rec_id).first() # get all current recipes all_recipes = user.recipes # append new recipe and add as new user.recipes all_recipes.append(new_recipe) user.recipes = all_recipes session.add(user) session.commit() session.close()
def get_ingredient_id(ing_name): session = Session() ing_id = (session.query( Ingredient.id).filter(Ingredient.ingredient == ing_name).first()) session.close() ing_id = ing_id[0] return ing_id
def get_by_key(cls, session, key, value): try: cls_key = getattr(cls, key) return session.query(cls).filter(cls_key == value).all() except: LOG.debug('Possible key name error in crudMixin') return None
def get_user_recipes_all(session_id): session = Session() # get current user object user = session.query(User).filter(User.id == session_id).first() recipe_list = user.recipes session.close() # returns a list of recipe objects return recipe_list
def tool_list_for_lcnc(cls, session, machine, pressure, measurement): measurementid = LinearSystem.get_by_key(session, 'name', measurement)[0].id machineid = Machine.get_by_key(session, 'name', machine)[0].id pressureid = PressureSystem.get_by_key(session, 'name', pressure)[0].id result_set = session.query(cls) \ .filter(and_( \ cls.linearsystemid == measurementid, \ cls.machineid == machineid, \ cls.pressuresystemid == pressureid \ )).order_by(cls.id).all() return result_set
def disconnect_shoplist_from_user(rec_id, user_id): session = Session() user = session.query(User).filter(User.id == user_id).first() shoplist_todelete = session.query(ShopList).filter( ShopList.id == rec_id).first() new_shoplists = [] for shoplist in user.shoplists: if shoplist != shoplist_todelete: new_shoplists.append(shoplist) user.shoplists = new_shoplists if len(shoplist_todelete.users) == 0: for ingredient in shoplist_todelete.ingredients: if len(ingredient.recipes) == 0 and len(ingredient.shoplists) == 1: session.delete(ingredient) session.delete(shoplist_todelete) session.add(user) session.commit() session.close()
def connect_user_to_shoplist(user_id): session = Session() user = session.query(User).filter(User.id == user_id).first() ingredients_list = [] for recipe in user.recipes: for ingredient in recipe.ingredients: ingredients_list.append(ingredient) user.ingredients = ingredients_list session.add(user) session.commit() session.close()
def get_exact_cut(cls, session, ls=0, ps=0, mch=0, con=0, mat=0, thi=0, op=0, gas=0, qua=0): result_set = session.query(cls) \ .filter(and_( \ cls.linearsystemid == ls, \ cls.pressuresystemid == ps, \ cls.machineid == mch, \ cls.consumableid == con, \ cls.materialid == mat, \ cls.thicknessid == thi, \ cls.operationid == op, \ cls.gasid == gas, \ cls.qualityid == qua\ )).order_by(cls.name).all() return result_set
def disconnect_recipe_from_user(rec_title, user_id): session = Session() user = session.query(User).filter(User.id == user_id).first() recipe_todelete = session.query(Recipe).filter( Recipe.title == rec_title).first() new_recipes = [] for recipe in user.recipes: if recipe != recipe_todelete: new_recipes.append(recipe) user.recipes = new_recipes if len(recipe_todelete.users) == 0: for ingredient in recipe_todelete.ingredients: if len(ingredient.recipes) == 1: session.delete(ingredient) session.delete(recipe_todelete) session.add(user) session.commit() session.close()
def get_ingredients_for_recipeList(recipe_titles): session = Session() # ingredientList = [] # for rec_title in recipe_titles: # recipe = session.query(Recipe).filter(Recipe.title == rec_title).first() # for ing in recipe.ingredients: # ingredientList.append(ing.ingredient) ingredientList = [] recipe = session.query(Recipe).filter( Recipe.title == recipe_titles).first() for ing in recipe.ingredients: ingredientList.append(ing.ingredient) session.close() return ingredientList
def get_holes(cls, session, mch=0, mat=0, thi=0): """ Get all holes for a machine/matherial/thickness combo Params: mch = MachineId mat = MaterialID thi = ThicknessID Returns: Matching hole data ordered by hole_size """ result_set = session.query(cls) \ .filter(and_( \ cls.machineid == mch, \ cls.materialid == mat, \ cls.thicknessid == thi \ )).order_by(cls.hole_size).all() return result_set
def get_user_shoplists(user_id): session = Session() user = session.query(User).filter(User.id == user_id).first() ingList = [] for shoplist in user.shoplists: # shop_ingList = [] # # for ing in shoplist.ingredients: # # shop_ingList.append(ing.ingredient) # # ingList.append(shop_ingList) list_dict = {} list_dict["id"] = shoplist.id list_dict["name"] = shoplist.name list_dict["date"] = shoplist.date shop_ingList = [] for ing in shoplist.ingredients: shop_ingList.append(ing.ingredient) list_dict["ingredients"] = shop_ingList ingList.append(list_dict) session.close() return ingList
def get_all(cls, session, linear=None): if linear == None: return session.query(cls).order_by(cls.thickness).all() else: return session.query(cls).filter(cls.linearsystemid == linear).order_by(cls.thickness).all()
def get_all_recipes(): session = Session() allRecipes = session.query(Recipe.title).all() session.close() return allRecipes
def get_ingredients_for_user(user_id): session = Session() user = session.query(User).filter(User.id == user_id).first() shoplist = user.ingredients session.close() return shoplist
def get_all(cls, session): return session.query(cls).order_by(cls.name).all()
def get_all_ingredients(): session = Session() all_ingredients = session.query(Ingredient.ingredient).all() session.close() return all_ingredients
def get(self, symbol): DBSession = sessionmaker(bind=self.engine) session = DBSession() ticker = session.query(models.Ticker).get(symbol=symbol) return ticker
def get_ingredients_for_recipe(rec_id): session = Session() recipe = session.query(Recipe).filter(Recipe.id == rec_id).first() ingredients = recipe.ingredients session.close() return ingredients
def get_id_of_existing_or_inserted_recipe(rec_title): session = Session() rec_id = session.query(Recipe.id).filter(Recipe.title == rec_title).first() session.close() rec_id = rec_id[0] return rec_id
def get_many(self, limit=None, offset=None): DBSession = sessionmaker(bind=self.engine) session = DBSession() return session.query(models.Ticker).offset(offset).limit(limit).all()