def post(self): if not isUserCook(self): self.session[LOGIN_NEXT_PAGE_KEY] = self.URL self.redirect("/") return dishKey=self.request.get('dishKey') if ((dishKey != None) and (dishKey != "")): #Modification of basic data title = self.request.get('title') subtitle = self.request.get('subtitle') description = self.request.get('description') eggFree = (self.request.get('eggFree') == "yes") milkFree = (self.request.get('milkFree') == "yes") dishCategoryKey=self.request.get(DISH_CATEGORY_KEY) codeModifier=self.request.get(DISH_CODE_MODIFIER) dishCategory=None if ((dishCategoryKey != None) and (dishCategoryKey != "")): dishCategory = db.get(dishCategoryKey) modifyDish(dishKey, title, subtitle, description, dishCategory, eggFree, milkFree, codeModifier) self.redirect('/dish?dishKey=%s' % self.request.get('dishKey')) return else: dish = Dish() dish.creationDate = datetime.datetime.today().date() dish.title = self.request.get('title') dish.subtitle = self.request.get('subtitle') dish.description = self.request.get('description') dish.category = DishCategory.get(self.request.get('dishCategoryKey')) eggFree = (self.request.get('eggFree') == "yes") milkFree = (self.request.get('milkFree') == "yes") dish.milkFree = milkFree dish.eggFree = eggFree dish.put() addDish(dish) self.redirect('/dish?dishKey=%s' % str(dish.key()))
def getDishCategory(key): if key == None: return None client = memcache.Client() dishCategory = client.get(key) if dishCategory == None: dishCategoryDb = DishCategory.get(key) if dishCategoryDb != None: dishCategory = createCategoryObject(dishCategoryDb) client.set(dishCategory['key'], dishCategory) return dishCategory
def getCategoryWithDishes(key): client = memcache.Client() category = client.get(key) if category == None: categoryDb = DishCategory.get(key) if categoryDb != None: category = createCategoryObject(categoryDb); client.set(key, category) else: return None # Fetch dishes dishes = [] for dishKey in category['dishKeys']: dishes.append(getDish(dishKey)) category['dishes'] = dishes return category
def addComposit(categoryKey, day): # Add it to database composit = Composit() composit.day=day composit.category=DishCategory.get(categoryKey) composit.price = composit.category.basePrice composit.categoryKey=str(categoryKey) composit.put() # Adds it to cache client = memcache.Client() key = COMPOSIT_FOR_DAY+ str(composit.day) + "_" + str(composit.categoryKey) daysComposits = client.get(key) #If we have something to update if daysComposits != None: # Just add this menu item compositObject = createCompositData(composit) daysComposits.append(compositObject) client.set(compositObject['key'], compositObject) client.set(key,daysComposits)