def handleUpdateGroceryListItem(self): db = GroceryDB() parsedBody = self.getParsedBody() ingredientID = -1 listID = -1 originalQuantityType = "" if parsedBody.get("ingredient_id") != None: ingredientID = parsedBody["ingredient_id"][0] if parsedBody.get("list_id") != None: listID = parsedBody["list_id"][0] if parsedBody.get("original_quantity_type") != None: originalQuantityType = parsedBody["original_quantity_type"][0] if not db.groceryListItemExists(listID, ingredientID, originalQuantityType): self.handle404("Grocery list item does not exist.") else: groceryListItem = db.getGroceryListItem(listID, ingredientID, originalQuantityType) quantity = groceryListItem["quantity"] newQuantityType = groceryListItem["quantity_type"] grabbed = groceryListItem["grabbed"] quantityUpdate = parsedBody.get("quantity") != None quantityTypeUpdate = parsedBody.get("new_quantity_type") != None if quantityUpdate: tempQuantity = parsedBody["quantity"][0] if isValidQuantityString(tempQuantity): quantity = parseQuantityString(tempQuantity) if quantityTypeUpdate: newQuantityType = parsedBody["new_quantity_type"][0].strip() if quantityUpdate or quantityTypeUpdate: item = db.updateGroceryListItem(listID, ingredientID, quantity, originalQuantityType, newQuantityType) self.handle201JSONResponse(item) if parsedBody.get("grabbed") != None: grabbed = parsedBody["grabbed"][0] db.setGroceryListItemGrabbed(grabbed, listID, ingredientID, originalQuantityType) self.handle201("Grocery list item grabbed set.")
def handleDeleteGroceryListItem(self, queryString): db = GroceryDB() parsedQs = parse_qs(queryString) parsedBody = self.getParsedBody() ingredientID = -1 listID = -1 quantityType = "" if parsedBody.get("ingredient_id") != None: ingredientID = parsedBody["ingredient_id"][0] if parsedBody.get("list_id") != None: listID = parsedBody["list_id"][0] if parsedBody.get("quantity_type") != None: quantityType = parsedBody["quantity_type"][0] if parsedQs.get("ingredient_id") != None: ingredientID = parsedQs["ingredient_id"][0] if parsedQs.get("list_id") != None: listID = parsedQs["list_id"][0] if parsedQs.get("quantity_type") != None: quantityType = parsedQs["quantity_type"][0] if not db.groceryListItemExists(listID, ingredientID, quantityType): self.handle404("Grocery list item does not exist.") else: db.deleteGroceryListItem(listID, ingredientID, quantityType) self.handle200("Grocery list item successfully deleted.")