def delete(obj): """Delete an Object""" session = query_session.get_session() session.begin_nested() session.delete(obj) session.commit()
def by_user_recipe_id(user_id, recipe_id): """ Get Recipe owned by a user """ session = query_session.get_session() return session.query(Recipe).filter(Recipe.id == recipe_id) \ .filter(Recipe.user_id == user_id) \ .first()
def save(obj): """ Save an Object that has been edited in this session """ session = query_session.get_session() session.begin_nested() session.save(obj) session.commit()
def by_user_allergy(user_id, allergy_id): """ Get an allergy owned by a user """ session = query_session.get_session() return session.query(UserAllergy).filter(UserAllergy.user_id == user_id) \ .filter(UserAllergy.allergy_id == allergy_id) \ .first()
def add(obj): """Add a new Object""" session = query_session.get_session() session.begin_nested() session.add(obj) session.flush() session.commit()
def __call__(self, environ, start_response): """ Ensure database is closed after each request """ try: query_session.get_session().begin_nested except BaseException: query_session.get_session().rollback() finally: query_session.get_session().commit() query_session.get_session().close() return self.app(environ, start_response)
def get_random(num): """ Get num random recipes """ session = query_session.get_session() return session.query(Recipe).distinct(Recipe.url_id).order_by(func.rand()).limit(num).all()
def by_id(recipe_id): """ Get Recipe by Id """ session = query_session.get_session() return session.query(Recipe).filter(Recipe.id == recipe_id).first()
def get_all(user_id): """ Get all Recipes owned by a user """ session = query_session.get_session() return session.query(Recipe).filter(Recipe.user_id == user_id).all()
def by_email(email): """ Get User by email """ session = query_session.get_session() return session.query(User).filter(User.email == email).first()
def get_all(): """ Get all User objects """ session = query_session.get_session() return session.query(User).all()
def by_username(username): """ Get User by username """ session = query_session.get_session() return session.query(User).filter(User.username == username).all()
def get_all(): """ Get all ingredients """ session = query_session.get_session() return session.query(Ingredient).all()
def get_user_allergies(user_id): """ Get all Allergies that a user owns """ session = query_session.get_session() return session.query(UserAllergy).filter( UserAllergy.user_id == user_id).all()
def get_non_allergies(allergies): """ Get all allergies that aren't part of a list """ session = query_session.get_session() return session.query(Allergy).filter(~Allergy.id.in_(allergies)).all()
def pre_save(): """pre_save an Object that has been edited in this Session""" session = query_session.get_session() session.begin_nested() return session
def by_id(quantity_id): """ Get Quantity by its id """ session = query_session.get_session() return session.query(Quantity).filter(Quantity.id == quantity_id).first()
def by_name(name): """ Get an Ingredient by name """ session = query_session.get_session() return session.query(Ingredient).filter(Ingredient.name == name).first()
def by_category(category_id): """ Get a recipe by a category id """ session = query_session.get_session() return session.query(Recipe).filter(Recipe.category_id == category_id).all()
def get_all(): """ Get all categories """ session = query_session.get_session() return session.query(Category).all()
def by_name(name): """ Get Measurement by its name """ session = query_session.get_session() return session.query(Measurement).filter(Measurement.name == name).first()
def by_id(ingredient_obj): """ Get an Ingredient by ID """ session = query_session.get_session() return session.query(Ingredient).filter(Ingredient.id == ingredient_obj).first()
def by_url(url): """ Get RecipeURL by url """ session = query_session.get_session() return session.query(RecipeURL).filter(RecipeURL.url == url).first()
def by_id(user_id): """ Get User by id """ session = query_session.get_session() return session.query(User).filter(User.id == user_id).first()
def get_all(): """ Get all UserAllergies """ session = query_session.get_session() return session.query(UserAllergy).all()
def by_id(recipe_step_id): """ Get RecipeStep by url """ session = query_session.get_session() return session.query(RecipeStep).filter( RecipeStep.id == recipe_step_id).first()