コード例 #1
0
 def seed(self):
     print("Categories seed ..")
     with open(self.seed_file) as json_file:
         data = json.load(json_file)
         for index in range(len(data)):
             category = CategoriesModel().get({'name': data[index]['name']})
             category = [doc for doc in category]
             if (0 == len(category)):
                 CategoriesModel().insert(data[index])
コード例 #2
0
    def post(cls):
        data = cls.parser.parse_args()

        category = CategoriesModel(
            data['id'],
            data['name'],
            data['description']
        )
        category.save_to_db()

        return {"message": "Category created successfully."}, 201
コード例 #3
0
    def post(cls):
        data = cls.parser.parse_args()
        recipe = RecipeModel(data['user_id'], data['cuisine_id'], data['name'],
                             data['description'], data['image_path'],
                             data['total_time'], data['prep_time'],
                             data['cook_time'], data['level'], data['source'])
        categories = data['category']
        if categories is not None:
            for cat in categories:
                category_json = ast.literal_eval(cat)
                category = CategoriesModel(category_json['id'],
                                           category_json['name'],
                                           category_json['description'])
                recipe.save_recipe_to_db(category)

        allergens = data['allergens']
        if allergens is not None:
            for aller in allergens:
                allergens_json = ast.literal_eval(aller)
                allergen = AllergensModel(
                    allergens_json['id'],
                    allergens_json['name'],
                )
                recipe.save_allergen_to_db(allergen)

        courses = data['courses']
        if courses is not None:
            for cour in courses:
                courses_json = ast.literal_eval(cour)
                course = AllergensModel(
                    courses_json['id'],
                    courses_json['name'],
                )
                recipe.save_course_to_db(course)

        steps = data['steps']
        if steps is not None:
            for step in steps:
                steps_json = ast.literal_eval(step)
                step = StepsModel(
                    steps_json['id'],
                    steps_json['step_number'],
                    steps_json['instructions'],
                )
                recipe.save_step_to_db(step)

        ingredients = data['ingredients']
        if ingredients is not None:
            for ingredient in ingredients:
                ingredients_json = ast.literal_eval(ingredient)
                ingredient = IngredientsModel(ingredients_json['id'],
                                              ingredients_json['amount'],
                                              ingredients_json['ingredient'],
                                              ingredients_json['measurement'])
                recipe.save_ingredient_to_db(ingredient)

        return {"message": "Recipe created successfully."}, 201
コード例 #4
0
    def put(cls, id):
        data = cls.parser.parse_args()
        category = CategoriesModel.find_by_id(id)

        if category:
            category.name = data['name']
            category.description = data['description']
        else:
            category = CategoriesModel(**data)

        category.save_to_db()

        return category.json()
コード例 #5
0
 def get(cls, id: int):
     category = CategoriesModel.find_by_id(id)
     if not category:
         return {'message': 'Category Not Found'}, 404
     return category.json(), 200
コード例 #6
0
 def delete(self, objectId):
     CategoriesModel().delete(objectId)
     return http_response(204, {"status": "category record deleted"})
コード例 #7
0
 def put(self, objectId):
     category = request.get_json()
     CategoriesModel().update(objectId, category)
     return http_response(202, {"status": "category record updated"})
コード例 #8
0
 def get(self, objectId):
     category = CategoriesModel().getById(objectId)
     return http_response(200, category)
コード例 #9
0
 def get(self):
     categories = CategoriesModel().get({})
     categories = [doc for doc in categories]
     return http_response(200, categories)
コード例 #10
0
 def test_Categories_Delete(self):
     inserted = CategoriesModel().insert(TEST_OBJECT)
     inserted_id = inserted.inserted_id
     inserted = CategoriesModel().delete(inserted_id)
     deleted = CategoriesModel().getById(inserted_id)
     self.assertIsNone(deleted)
コード例 #11
0
 def test_Categories_Post(self):
     inserted = CategoriesModel().insert(TEST_OBJECT)
     fetch_inserted = CategoriesModel().getById(inserted.inserted_id)
     self.assertEqual(TEST_OBJECT['name'], fetch_inserted['name'])
コード例 #12
0
 def test_Categories_Get_ById(self):
     m = CategoriesModel().getById(SAMPLE_OBJECT_CAT)
     self.assertEqual(m['name'], MOVIE)
コード例 #13
0
    def test_Categories_Get(self):

        m = CategoriesModel().get({})
        self.assertGreaterEqual(m.count(), MOVIE_LENGTH)
コード例 #14
0
 def delete(cls, id: int):
     category = CategoriesModel.find_by_id(id)
     if not category:
         return {'message': 'Category Not Found'}, 404
     category.delete_from_db()
     return {'message': 'Category deleted.'}, 200
コード例 #15
0
 def post(self):
     category = request.get_json()
     CategoriesModel().insert(category)
     return http_response(201, {"status": "category record inserted"})
コード例 #16
0
 def get(cls):
     return {'categories': [category.json() for category in CategoriesModel.find_all()]}
コード例 #17
0
    def put(cls, id):
        data = cls.parser.parse_args()
        recipe = RecipeModel.find_by_id(id)

        if recipe:
            recipe.user_id = data['user_id']
            recipe.cuisine_id = data['cuisine_id']
            recipe.name = data['name']
            recipe.description = data['description']
            recipe.image_path = data['image_path']
            recipe.total_time = data['total_time']
            recipe.prep_time = data['prep_time']
            recipe.cook_time = data['cook_time']
            recipe.level = data['level']
            recipe.source = data['source']
        else:
            recipe = RecipeModel(**data)

        recipe_categories = data['category']
        for cat in recipe_categories:
            category = RecipeCategory.find_by_id(id)
            if category:
                recipe.delete_category_from_db(category)

        for cat in recipe_categories:
            category_json = ast.literal_eval(cat)
            category = CategoriesModel(category_json['id'],
                                       category_json['name'],
                                       category_json['description'])
            recipe.save_recipe_to_db(category)

        allergens = data['allergens']
        if allergens:
            for aller in allergens:
                allergen = RecipeAllergens.find_by_id(id)
                if allergen:
                    recipe.delete_allergen_from_db(allergen)
        else:
            allergen = RecipeAllergens.find_by_id(id)
            if allergen:
                recipe.delete_allergen_from_db(allergen)

        if allergens:
            for aller in allergens:
                allergens_json = ast.literal_eval(aller)
                allergen = AllergensModel(
                    allergens_json['id'],
                    allergens_json['name'],
                )
                recipe.save_allergen_to_db(allergen)

        courses = data['courses']
        for cour in courses:
            course = RecipeCourses.find_by_id(id)
            if course:
                recipe.delete_course_from_db(course)
        for cour in courses:
            courses_json = ast.literal_eval(cour)
            course = CoursesModel(
                courses_json['id'],
                courses_json['name'],
            )
            recipe.save_course_to_db(course)

        steps = data['steps']
        for step in steps:
            steps_json = ast.literal_eval(step)
            step = StepsModel.find_by_id(steps_json['id'])
            if step:
                step.step_number = steps_json['step_number']
                step.instructions = steps_json['instructions']
            else:
                step = StepsModel(
                    steps_json['id'],
                    steps_json['step_number'],
                    steps_json['instructions'],
                )
            recipe.save_step_to_db(step)

        ingredients = data['ingredients']
        for ingredient in ingredients:
            ingredients_json = ast.literal_eval(ingredient)
            ingredient = IngredientsModel.find_by_id(ingredients_json['id'])
            if ingredient:
                ingredient.amount = ingredients_json['amount']
                ingredient.ingredient = ingredients_json['ingredient']
                ingredient.measurement = ingredients_json['measurement']
            else:
                ingredient = IngredientsModel(ingredients_json['id'],
                                              ingredients_json['amount'],
                                              ingredients_json['ingredient'],
                                              ingredients_json['measurement'])
            recipe.save_ingredient_to_db(ingredient)

        return recipe.json()