Esempio n. 1
0
    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()))
Esempio n. 2
0
    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))
Esempio n. 3
0
    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()))
Esempio n. 4
0
    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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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))