def post(self): name = self.request.get('recipe_name') author = self.request.get('user_id') recipe_query = Recipe.query(Recipe.name == name,Recipe.author == author) recipes = recipe_query.fetch(1) if len(recipes) >0: recipe = recipes[0] else: recipe = Recipe() recipe.favorite_count = 0 recipe.view_count = 0 recipe.name = name recipe.author = author recipe_query = Recipe.query(Recipe.name==name) recipes = recipe_query.fetch(1) recipe.photos = recipes[0].photos if self.request.get('estimated_time') != "": tmp = time.strptime(self.request.get('estimated_time'),"%H:%M") recipe.estimate_time = datetime.time(hour=tmp.tm_hour,minute=tmp.tm_min) else: recipe.estimate_time =datetime.time(hour=0,minute=0) recipe.portion = int(self.request.get('portions')) recipe.description = self.request.get('description') recipe.ingredients = [] ingredient_number = int(self.request.get('ingredient_number')) for i in xrange(ingredient_number): if self.request.get('ingredient'+str(i+1))!="": recipe.ingredients.append(self.request.get('ingredient'+str(i+1))) recipe.directions = [] direction_number = int(self.request.get('direction_number')) for i in xrange(direction_number): if self.request.get('direction'+str(i+1))!="": recipe.directions.append(self.request.get('direction'+str(i+1))) if self.request.get('tag[]')!="": recipe.tags = json.loads(self.request.get('tag[]')) recipe.put() time.sleep(1) self.redirect('/viewpage?recipe_id='+str(recipe.key.id()))
def get(self): user_id = self.session.get('user_id') print user_id print 'ooooooooooooo' save_cache = Save_cache.get_by_id(DEFAULT_Save_Cache_NAME) if not save_cache: save_cache = Save_cache(id=DEFAULT_Save_Cache_NAME) user = User.get_by_id(user_id) my_recipes_list = [] recipe_query = Recipe.query(Recipe.author == user_id) my_recipes = recipe_query.fetch() for recipe in my_recipes: print recipe recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) my_recipes_list.append(recipe_dict) favorite_recipes_list = [] for recipe_id in user.favorite_recipes: recipe = Recipe.get_by_id(long(recipe_id)) recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) favorite_recipes_list.append(recipe_dict) wish_recipes_list = [] for recipe_id in user.wish_recipes: recipe = Recipe.get_by_id(long(recipe_id)) recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) wish_recipes_list.append(recipe_dict) template = JINJA_ENVIRONMENT.get_template('template/recipebox_page.html') template_values = { 'my_recipes':my_recipes_list, 'favorite_recipes':favorite_recipes_list, 'wish_recipes':wish_recipes_list, 'keywords':json.dumps(save_cache.save_cache), } self.response.write(template.render(template_values))
def post(self): upload = self.get_uploads('cover_image') name = self.request.get('recipe_name') author = self.request.get('user_id') recipe_query = Recipe.query(Recipe.name == name,Recipe.author == author) recipes = recipe_query.fetch(1) if len(recipes) >0: self.error(409) self.redirect('/error?error=1') else: recipe = Recipe() recipe.name = name if self.request.get('estimated_time') != "": tmp = time.strptime(self.request.get('estimated_time'),"%H:%M") recipe.estimate_time = datetime.time(hour=tmp.tm_hour,minute=tmp.tm_min) else: recipe.estimate_time =datetime.time(hour=0,minute=0) recipe.portion = int(self.request.get('portions')) recipe.description = self.request.get('description') ingredient_number = int(self.request.get('ingredient_number')) for i in xrange(ingredient_number): if self.request.get('ingredient'+str(i+1))!="": recipe.ingredients.append(self.request.get('ingredient'+str(i+1))) direction_number = int(self.request.get('direction_number')) for i in xrange(direction_number): if self.request.get('direction'+str(i+1))!="": recipe.directions.append(self.request.get('direction'+str(i+1))) if self.request.get('tag[]')!="": recipe.tags = json.loads(self.request.get('tag[]')) recipe.favorite_count = 0 recipe.view_count = 0 if len(upload) >0: recipe.photos.append(Photo( blob_key = upload[0].key(), filename= upload[0].filename, )) recipe.author = author recipe.put() history = History() history.recipe_name = name history.FromAndroid = False history.recipe_id = str(recipe.key.id()) history.tags = json.loads(self.request.get('tag[]')) history.recipe_author=User.get_by_id(author).user_name history.recipe_description= self.request.get('description') history.recipe_authorID = author if len(upload) >0: history.photos.append(Photo( blob_key = upload[0].key(), filename= upload[0].filename, )) history.put() print history time.sleep(1) self.redirect('/viewpage?recipe_id='+str(recipe.key.id()))
def get(self): recipe_id = self.request.get('recipe_id') recipe = Recipe.get_by_id(long(recipe_id)) photo_urls = [] for i in xrange(len(recipe.photos)): photo_urls.append(images.get_serving_url(recipe.photos[0].blob_key)) author = User.get_by_id(recipe.author) ingredients_list = [] # user = User.get_by_id(self.session.get('user_id')) # shopping_list = user.shopping_list # isAllInList = True for ingredient in recipe.ingredients: ingredients_list.append(ingredient) # isAuthor = False # if user.user_id == author.user_id: # isAuthor = True # isFavorite = False # if recipe_id in user.favorite_recipes: # isFavorite = True # isWish = False # if recipe_id in user.wish_recipes: # isWish = True comments_list = [] for comment in recipe.comments: author2 = User.get_by_id(comment.author) time_str = comment.time.strftime("%B %d, %Y at %H:%M:%S") comment_dict = { 'author':author2.user_name, 'author_profile':author2.photo, 'comment_text':comment.comment_text, 'time': time_str, } comments_list.append(comment_dict) same_list = [] recipe_name = Recipe.query(Recipe.name==recipe.name) for recipe2 in recipe_name: if User.get_by_id(recipe2.author).user_name is not author.user_name: same_dict = { 'author': User.get_by_id(recipe2.author).user_name, 'recipe_id': recipe2.key.id(), } same_list.append(same_dict) print author.user_name # template = JINJA_ENVIRONMENT.get_template('template/view_page.html') # template_values = { # 'recipe_id':recipe_id, # 'recipe_name':recipe.name, # 'photo_urls':photo_urls, # 'author':author.user_name, # 'ingredients':ingredients_list, # 'directions':recipe.directions, # 'estimate_time':recipe.estimate_time, # 'portion':recipe.portion, # 'tags':recipe.tags, # 'isAllInList':isAllInList, # 'isFavorite':isFavorite, # 'isWish':isWish, # 'isAuthor':isAuthor, # 'comments_list':comments_list, # 'same_list':same_list, # } # self.response.write(template.render(template_values)) json_dict = {"recipe_id":[],"recipe_name":[],"photo_urls":[],"author":[],"ingredients":[],"directions":[],"estimate_time":[],"portion":[],"tags":[],"isAllInList":[],"isFavorite":[],"isWish":[],"isAuthor":[],"comments_list":[],"same_list":[]} json_dict['recipe_id'] = recipe_id json_dict['recipe_name'] = recipe.name json_dict['photo_urls'] = photo_urls[0] json_dict['author'] = author.user_name json_dict['ingredients'] = ingredients_list json_dict['directions'] =recipe.directions json_dict['estimate_time']=recipe.estimate_time.strftime("%H:%M") json_dict['portion'] = recipe.portion json_dict['tags']= recipe.tags # json_dict['isAllInList']= isAllInList # json_dict['isFavorite'] =isFavorite # json_dict['isWish'] = isWish # json_dict['isAuthor'] = isAuthor json_dict['comments_list'] = comments_list json_dict['same_list'] = same_list jsonObj = json.dumps(json_dict, sort_keys=True,indent=4, separators=(',', ': ')) self.response.write(jsonObj)
def get(self): user_id = self.request.get('user_id') list_type = self.request.get('list_type') list_type_int = int(list_type) user = User.get_by_id(user_id) my_recipes_list = [] recipe_query = Recipe.query(Recipe.author == user_id) my_recipes = recipe_query.fetch() for recipe in my_recipes: print recipe recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) my_recipes_list.append(recipe_dict) favorite_recipes_list = [] for recipe_id in user.favorite_recipes: recipe = Recipe.get_by_id(long(recipe_id)) recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) favorite_recipes_list.append(recipe_dict) wish_recipes_list = [] for recipe_id in user.wish_recipes: recipe = Recipe.get_by_id(long(recipe_id)) recipe_dict = {'photo':'http://placehold.it/700x400', 'name':recipe.name, 'tags':recipe.tags, 'id':str(recipe.key.id()), } if len(recipe.photos)>0: recipe_dict['photo'] = images.get_serving_url(recipe.photos[0].blob_key) wish_recipes_list.append(recipe_dict) recipes_list = [] if list_type_int==1: recipes_list = my_recipes_list elif list_type_int ==2: recipes_list = favorite_recipes_list else: recipes_list = wish_recipes_list json_dict = {"photo":[],"name":[],"tags":[],"id":[]} if len(recipes_list) != 0: for tmp in recipes_list: json_dict['photo'].append(tmp['photo']) json_dict['name'].append(tmp['name']) json_dict['tags'].append(tmp['tags']) json_dict['id'].append(tmp['id']) jsonObj = json.dumps(json_dict, sort_keys=True,indent=4, separators=(',', ': ')) self.response.write(jsonObj)
def get(self): recipe_id = self.request.get('recipe_id') print "-------------------" recipe = Recipe.get_by_id(long(recipe_id)) recipe_query = History.query(History.recipe_authorID==self.session.get('user_id')) recipe_query_test = recipe_query.fetch() print recipe_query_test print 'yoyoyoyoyo' save_cache = Save_cache.get_by_id(DEFAULT_Save_Cache_NAME) if not save_cache: save_cache = Save_cache(id=DEFAULT_Save_Cache_NAME) photo_urls = [] for i in xrange(len(recipe.photos)): photo_urls.append(images.get_serving_url(recipe.photos[i].blob_key)) author = User.get_by_id(recipe.author) ingredients_list = [] user = User.get_by_id(self.session.get('user_id')) shopping_list = user.shopping_list isAllInList = True for ingredient in recipe.ingredients: if ingredient in shopping_list: ingredients_list.append((ingredient,True)) else: ingredients_list.append((ingredient,False)) isAllInList = False isAuthor = False if user.user_id == author.user_id: isAuthor = True isFavorite = False if recipe_id in user.favorite_recipes: isFavorite = True isWish = False if recipe_id in user.wish_recipes: isWish = True comments_list = [] for comment in recipe.comments: author2 = User.get_by_id(comment.author) time_str = comment.time.strftime("%B %d, %Y at %H:%M:%S") comment_dict = { 'author':author2.user_name, 'author_profile':author2.photo, 'comment_text':comment.comment_text, 'time': time_str, } comments_list.append(comment_dict) same_list = [] recipe_name = Recipe.query(Recipe.name==recipe.name) for recipe2 in recipe_name: if User.get_by_id(recipe2.author).user_name is not author.user_name: same_dict = { 'author': User.get_by_id(recipe2.author).user_name, 'recipe_id': recipe2.key.id(), } same_list.append(same_dict) print author.user_name template = JINJA_ENVIRONMENT.get_template('template/view_page.html') template_values = { 'recipe_id':recipe_id, 'recipe_name':recipe.name, 'keywords':json.dumps(save_cache.save_cache), 'photo_urls':photo_urls, 'author':author.user_name, 'ingredients':ingredients_list, 'directions':recipe.directions, 'estimate_time':recipe.estimate_time, 'portion':recipe.portion, 'tags':recipe.tags, 'isAllInList':isAllInList, 'isFavorite':isFavorite, 'isWish':isWish, 'isAuthor':isAuthor, 'comments_list':comments_list, 'same_list':same_list, 'same_list_len':len(same_list), } self.response.write(template.render(template_values))