Example #1
0
    def post(self, name):

        #data = request.get_json()
        #if next(filter(lambda x: x['name'] == name, items),None):
        if ItemModel.find_by_name(name):
            return {
                'message': "An item with name '{}' already exist".format(name)
            }, 400
        data = Item.parser.parse_args()

        #data = request.get_json()
        item = ItemModel(name, data['price'], data['store_id'])

        #items.append(item)
        # Write item to the database
        # connection = sqlite3.connect('samdata.db')
        # cursor = connection.cursor()
        #
        # query = "INSERT INTO items VALUES(?, ?)"
        # cursor.execute(query, (item['name'], item['price']))
        #
        # connection.commit()
        # connection.close()

        #method fot post and put
        item.save_to_db()
        # try:
        #     item.insert(item)
        # except:
        #     return {"message": " An error occurred inserting the item. Please check the insert code"}, 500

        return item.json(), 201
Example #2
0
    def post(self, name):

        if ItemModel.find_by_name(name):
            return {
                "message":
                "An item with the name {} already exists".format(name)
            }, 400  # bad request
        data = self.parser.parse_args()
        # item={"name":name, "price":data["price"]}
        item = ItemModel(
            name, data["price"],
            data['store_id'])  # item becomes object of class ItemModel
        # exception handling: if database insert fails; try inserting if exception occurred then the except return message

        try:

            # ItemModel.insert(item)
            item.save_to_db()  # calling object above

        except:
            return {
                "message": "An error occurred while inserting the item."
            }, 500  # Internal server error

        return item.json(), 201  # new item created; always return json
Example #3
0
 def post(self, name):
     if ItemModel.find_by_name(name):
         return {
             'message': 'an item with name {} already exists'.format(name)
         }, 400
     data = Item.parser.parse_args()
     item = ItemModel(name, data['price'], data['store_id'])
     item.save_to_db()
     return item.json(), 201
Example #4
0
    def post(self, name):
        data = Item.parser.parse_args()
        item = ItemModel(name, data["price"], data["store_id"])
        try:
            item.save_to_db()
        except:
            return {"message": "Something went wrong while inserting"}, 500

        return {"message": "Item created", "created_item": item.json()}, 201
Example #5
0
    def put(self, name):

        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(name)
        if not item:
            item = ItemModel(name, **data)
        else:
            item.price = data['price']
        item.save_to_db()
        return item.json()
Example #6
0
    def put(self, name):
        item = ItemModel.get_item_by_name(name)
        data = Item.parser.parse_args()
        if item:
            item.price = data['price']
        else:
            item = ItemModel(name, **data)

        item.save_to_db()
        return item.json()
Example #7
0
 def post(self, name):
     if ItemModel.get_item_by_name(name):
         return {'message': 'this item already exists'}, 400
     data = Item.parser.parse_args()
     item = ItemModel(name, **data)
     try:
         item.save_to_db()
     except:
         return {"message": "An internal error occurred "}, 500
     return item.json(), 201
Example #8
0
 def post(cls, name):
     if ItemModel.find_by_name(name):
         return {'message': NAME_ALREADY_EXISTS.format(name)}
     data = Item.parser.parse_args()
     item = ItemModel(name, **data)
     try:
         item.save_to_db()
     except:
         return {"message": INSERTION_ERROR}
     return item.json()
Example #9
0
 def put(cls, name):
     data = Item.parser.parse_args()
     item = ItemModel.find_by_name(name)
     if item:
         item.price = data['price']
         item.store_id = data['store_id']
     else:
         item = ItemModel(name, **data)
     item.save_to_db()
     return item.json()
Example #10
0
 def post(self, name):
     if ItemModel.find_item_by_name(name):
         return {'message': f'item {name} already exists'}, 400
     payload = Item.parser.parse_args()
     item = ItemModel(name, payload['price'], payload['store_id'])
     try:
         item.save_to_db()
     except Exception as e:
         return {"message": f"Error occurred inserting the item, {e}"}
     return item.json(), 201
Example #11
0
 def put(self, name):
     payload = Item.parser.parse_args()
     item = ItemModel.find_item_by_name(name)
     if item is None:
         item = ItemModel(name, payload["price"], payload['store_id'])
     else:
         item.price = payload['price']
         item.store_is = payload['store_id']
     item.save_to_db()
     return item.json()
Example #12
0
 def put(self, name):
     data = Item.parser.parse_args()
     item = ItemModel.find_by_name(name)
     if item is None:
         item = ItemModel(name, **data)
     else:
         item.price = data["price"]
         item.store_id = data["store_id"]
     item.save_to_db()
     return item.json()
Example #13
0
 def post(self, name):
     if ItemModel.find_by_name(name):
         return {"message": f'An item with name "{name}" already exists'}, 400
     data = Item.parser.parse_args()
     print("a")
     item = ItemModel(name, **data)
     try:
         item.save_to_db()
     except:
         return {"message": "An error occurred inserting the item."}, 500
     return item.json(), 201
Example #14
0
    def put(self, name):
        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(name)

        if item is None:
            item = ItemModel(name, data['price'], data['store_id'])
        else:
            item.price = data['price']

        item.save_to_db()
        return item.json()
Example #15
0
    def put(self, item_name):
        # data = request.get_json() # replaced by parser code above
        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(item_name)

        if item is None:
            item = ItemModel(item_name, data["price"], data["store_id"])
        else:
            item.price = data["price"]

        item.save_to_db()
        return item.json()
Example #16
0
    def put(self, name):
        data = Item.request_parser.parse_args()
        item = ItemModel.find_by_name(name)
        if item is None:
            item = ItemModel(name, data['price'], data['store_id'])
        else:
            item.price = data['price']
        try:
            item.save_to_db()
        except:
            return {'message': 'Internal server error while updating'}, 500

        return item.json()
Example #17
0
    def post(self, name):
        if ItemModel.find_item_by_name(name):
            return {'message': "item '{}' already exists".format(name)}, 400

        data = ItemsInShop.parser.parse_args()
        item = ItemModel(name, data['price'], data['store_id'])

        try:
            item.save_to_db()
        except:
            return {"message": "An error occured while inserting item"}, 500

        return item.json(), 201
Example #18
0
    def put(self, name):
        data = Item.parser.parse_args()
        item = ItemModel.find_by_name(name)

        if item is None:
            item = ItemModel(name, **data)
        else:
            item.price = data['price']
        try:
            item.save_to_db()
            return item.json(), 201
        except:
            return {"message": "An error iccorred while updateing item"}, 500
Example #19
0
    def post(self, name):
        if ItemModel.find_by_name(name):
            return {'message': "An item with '{}' already exists.".format(name)}, 400  # bad request

        data = Item.parser.parse_args()

        item = ItemModel(name, **data)

        try:
            item.save_to_db()
        except:
            return {'message': 'An error occurred inserting the item.'}, 500  # Internal server error

        return item.json(), 201  # 201 - Created | 202 - Accepted (when creation delay)
Example #20
0
    def put(self, name):
        data = Item.parser.parse_args()
        # Once again, print something not in the args to verify everything works
        # item = next(filter(lambda x: x['name'] == name, items), None)
        item = ItemModel.find_by_name(name)

        if item is None:
            item = ItemModel(name, data['price'], data['store_id'])
        else:
            item.price = data['price']
            # item.store_id = data['store_id']
        item.save_to_db()

        return item.json()
Example #21
0
    def post(self, name):
        if (ItemModel.find_by_name(name)):
            return {
                'message': 'Item with {} name already exists'.format(name)
            }, 400

        data = Item.request_parser.parse_args()
        item = ItemModel(name, data['price'], data['store_id'])
        try:
            item.save_to_db()
        except:
            return {'message': 'An error occured'}, 500

        return item.json(), 201
Example #22
0
    def post(self, name):
        if ItemModel.find_by_name(name):
            return {'massage': "An item with name '{}' already exists".format(name)}, 400

        data = Item.parser.parse_args()

        item = ItemModel(name, **data)

        try:
            item.save_to_db()
        except:
            return {"message": "An error occured inserting the item."}, 500

        return item.json(), 201
Example #23
0
    def post(self, name):
        if ItemModel.get_item_by_name(name):
            # HTTP Code 400 : Bad request.
            return {"message": "item '{}' already exists.".format(name)}, 404

        data = Item.parser.parse_args()
        new_item = ItemModel(name, data["price"], data["store_id"])
        try:
            new_item.save_to_db()
        except:
            # HTTP Code 500: Internal server error
            return {"message": "Error inserting item !"}, 500

        # HTTP Code 201: Item Creation OK
        return new_item.json(), 201
Example #24
0
    def post(self, name):

        if ItemModel.find_by_name(name):
            return {'message': "An item with that name already exists."}, 400

        data = Item.parser.parse_args()

        item = ItemModel(name, data['price'], data['store_id'])

        try:
            item.save_to_db()
        except:
            return {'message': 'An error occurred while inserting an item'}, 500 # Internal Server error

        return item.json(), 201
Example #25
0
    def post(self, name):
        if ItemModel.find_by_name(name):
            return {
                'message':
                "An item with name '{}' already exists.".format(name)
            }, 400  #Error occured with the request

        data = Item.parser.parse_args()
        item = ItemModel(name, data['price'], data['store_id'])
        try:
            item.save_to_db()
        except:
            return {"message": "An error occurred inserting the item."}

        return item.json(), 201
Example #26
0
    def put(self, name):

        # data=request.get_json()
        data = self.parser.parse_args()
        item = ItemModel.find_by_name(name)
        # updated_item=ItemModel(name,data["price"])
        if item is None:
            # item=ItemModel(name,data['price'],data['store_id'])
            item = ItemModel(name, **data)
        else:
            item.price = data['price']

        item.save_to_db()

        return item.json()
Example #27
0
 def post(self, name):
     # the code below checks if the item exists before creating it again, if it does, it sends 400 bad request and doesnt create it
     if ItemModel.find_by_name(name):
         return{'message': "An item with name '{}' already exists.".format(name)}, 400
     # nb inside the json() method, you can pass 'force=True' or 'silent =True' to handle the errors if any
     # request_data = request.get_json()
     # OR Use the parser
     request_data = Item.parser.parse_args()
     new_item = ItemModel(
         name, request_data['price'])
     try:
         new_item.save_to_db()
     except:
         return {"message": "An error occured inserting item!"}, 500
     return {"message": f"{new_item.json()} was added succesfully"}, 201
Example #28
0
 def post(self, name):
     # ищем в совпадения в БД
     if ItemModel.find_by_name(name):
         return {
             "message": "An item with {0} already exists.".format(name)
         }, 400  # status code 400 "Bad request"
     # получаем словарь данных для записи и записываем в переменную
     data = Item.parser.parse_args()
     item = ItemModel(name, data["price"], data["store_id"])
     # подключаемся к БД и записывем данные
     try:
         item.save_to_db()
     except Exception as err:
         return {"message": "An exception {0} raised".format(err)}, 500
         # возвращаем обьект данных и код статуса
     return item.json(), 201  # 201 status code "201 CREATED"
Example #29
0
    def post(self, name):
        if ItemModel.find_by_name(name):
            return {
                'message':
                "An item with name '{}' already exists.".format(name)
            }, 400

        data = Item.parser.parse_args()
        item = ItemModel(name, **data)

        try:
            item.save_to_db()
        except:
            return {'message': 'An error ocurred inserting the item'}, 500

        return item.json(), 201  # http status code = CREATED
Example #30
0
    def put(self, name):

        item = ItemModel.find_by_name(name)
        data = Item.parser.parse_args()

        if item is None:
            #same as below// item = ItemModel(name, data['price'], data['store_id'])
            item = ItemModel(name, **data)

        else:
            item.price = data['price']
            item.store_id = data['store_id']

        item.save_to_db()

        return item.json(), 201