def test_feed_recipe_form(self): ingredient_lists = builder.feed_recipe_form() self.assertTrue("2-Row Black Malt" in [i.name for i in ingredient_lists[0]]) self.assertTrue("Blond Dry" in [i.name for i in ingredient_lists[1]]) self.assertTrue("Magnum" in [i.name for i in ingredient_lists[2]]) self.assertTrue("Orange zest" in [i.name for i in ingredient_lists[3]]) self.assertTrue("Windsor" in [i.name for i in ingredient_lists[4]]) self.assertEqual([i.name for i in ingredient_lists[0]][0], "2-Row Black Malt")
def editrecipe(recipe): """ Display edit recipe page """ recipe, color = get_recipe_instructions(recipe) grain_choice, extract_choice, hop_choice, misc_choice, yeast_choice, selectlist_styles = feed_recipe_form() public = Recipe.query.filter_by(name=recipe.name).one().public return render_template("edit_recipe.html", recipe=recipe, public=public, grain_choice=grain_choice, extract_choice=extract_choice, hop_choice=hop_choice, misc_choice=misc_choice, yeast_choice=yeast_choice, selectlist_styles=selectlist_styles)
def enter_recipe(): """ Get - display add recipe. Post - Add recipe and edit recipe pages info routed here for processing and uploading to db """ if request.method == "POST": data = request.get_json() grains = data['grains'] extracts = data['extracts'] hops = data['hops'] miscs = data['miscs'] yeasts = data['yeasts'] # Recipe values name = data["name"] user_id = session["user_id"] source = data["source"] public = data["share"] style_name = data["style"] notes = data["notes"] batch_size = data["batch_size"] batch_units = data["units"] new_recipe = Recipe(name=name, source=source, user_id=user_id, public=public, notes=notes, style_name=style_name, batch_size=batch_size, batch_units=batch_units) db.session.add(new_recipe) db.session.commit() # Recipe_id will be used in all instructions uploads recipe_id = Recipe.query.filter_by(name=name, user_id=user_id)[0].recipe_id # Grain Instructions for i in range(0, len(data['grains']), 3): grain_name = grains[i]["value"] ferm_id = Fermentable.query.filter_by(name=grain_name)[0].id grain_amount = grains[i+1]["value"] grain_units = grains[i+2]["value"] new_fermins = FermIns(recipe_id=recipe_id, ferm_id=ferm_id, amount=grain_amount, units=grain_units, ) db.session.add(new_fermins) db.session.commit() # Extract Instructions if extracts: for i in range(0, len(data['extracts']), 3): extract_name = extracts[i]["value"] extract_id = Extract.query.filter_by(name=extract_name)[0].id extract_amount = extracts[i+1]["value"] extract_units = extracts[i+2]["value"] new_extins = ExtIns(recipe_id=recipe_id, extract_id=extract_id, amount=extract_amount, units=extract_units) db.session.add(new_extins) db.session.commit() # Hops Instructions for i in range(0, len(data['hops']), 6): hop_name = hops[i]["value"] hop_id = Hop.query.filter_by(name=hop_name)[0].hop_id hop_amount = hops[i+1]["value"] hop_units = hops[i+2]["value"] hop_phase = hops[i+3]["value"] time = hops[i+4]["value"] kind = hops[i+5]["value"] new_hopsins = HopIns(recipe_id=recipe_id, hop_id=hop_id, amount=hop_amount, phase=hop_phase, time=time, kind=kind) db.session.add(new_hopsins) db.session.commit() # Misc Instructions if miscs != []: for i in range(0, len(data['miscs']), 5): misc_name = miscs[i]["value"] misc_id = Misc.query.filter_by(name=misc_name)[0].misc_id misc_amount = miscs[i+1]["value"] misc_units = miscs[i+2]["value"] misc_phase = miscs[i+3]["value"] misc_time = miscs[i+4]["value"] new_miscins = MiscIns(recipe_id=recipe_id, misc_id=misc_id, phase=misc_phase, amount=misc_amount, time=misc_time, units=misc_units) db.session.add(new_miscins) db.session.commit() # Yeast Instructions for i in range(0, len(data['yeasts']), 4): yeast_name = yeasts[i]["value"] yeast_id = Yeast.query.filter_by(name=yeast_name)[0].yeast_id yeast_amount = yeasts[i+1]["value"] yeast_units = yeasts[i+2]["value"] yeast_phase = yeasts[i+3]["value"] new_yeastins = YeastIns(recipe_id=recipe_id, yeast_id=yeast_id, amount=yeast_amount, units=yeast_units, phase=yeast_phase) db.session.add(new_yeastins) db.session.commit message = "Your recipe has been added." return message grain_choice, extract_choice, hop_choice, misc_choice, yeast_choice, selectlist_styles = feed_recipe_form() return render_template("recipeform.html", selectlist_styles=selectlist_styles, grain_choice=grain_choice, hop_choice=hop_choice, extract_choice=extract_choice, misc_choice=misc_choice, yeast_choice=yeast_choice)
def editrecipe(recipe): name, source, style, batch_size, batch_units, notes, hop_steps, ext_steps, ferm_steps, misc_steps, yeast_steps, srm_color = get_recipe_info(recipe) grain_choice, extract_choice, hop_choice, misc_choice, yeast_choice, selectlist_styles = feed_recipe_form() public = Recipe.query.filter_by(name=recipe).one().public return render_template("editrecipe.html", name=name, source=source, style=style, batch_size=batch_size, batch_units=batch_units, public=public, notes=notes, hop_steps=hop_steps, ext_steps=ext_steps, ferm_steps=ferm_steps, misc_steps=misc_steps, yeast_steps=yeast_steps, grain_choice=grain_choice, extract_choice=extract_choice, hop_choice=hop_choice, misc_choice=misc_choice, yeast_choice=yeast_choice, selectlist_styles=selectlist_styles)
def editrecipe(recipe): """ Display edit recipe page """ recipe, color = get_recipe_instructions(recipe) grain_choice, extract_choice, hop_choice, misc_choice, yeast_choice, selectlist_styles = feed_recipe_form( ) public = Recipe.query.filter_by(name=recipe.name).one().public return render_template("edit_recipe.html", recipe=recipe, public=public, grain_choice=grain_choice, extract_choice=extract_choice, hop_choice=hop_choice, misc_choice=misc_choice, yeast_choice=yeast_choice, selectlist_styles=selectlist_styles)
def enter_recipe(): """ Get - display add recipe. Post - Add recipe and edit recipe pages info routed here for processing and uploading to db """ if request.method == "POST": data = request.get_json() grains = data['grains'] extracts = data['extracts'] hops = data['hops'] miscs = data['miscs'] yeasts = data['yeasts'] # Recipe values name = data["name"] user_id = session["user_id"] source = data["source"] public = data["share"] style_name = data["style"] notes = data["notes"] batch_size = data["batch_size"] batch_units = data["units"] new_recipe = Recipe(name=name, source=source, user_id=user_id, public=public, notes=notes, style_name=style_name, batch_size=batch_size, batch_units=batch_units) db.session.add(new_recipe) db.session.commit() # Recipe_id will be used in all instructions uploads recipe_id = Recipe.query.filter_by(name=name, user_id=user_id)[0].recipe_id # Grain Instructions for i in range(0, len(data['grains']), 3): grain_name = grains[i]["value"] ferm_id = Fermentable.query.filter_by(name=grain_name)[0].id grain_amount = grains[i + 1]["value"] grain_units = grains[i + 2]["value"] new_fermins = FermIns( recipe_id=recipe_id, ferm_id=ferm_id, amount=grain_amount, units=grain_units, ) db.session.add(new_fermins) db.session.commit() # Extract Instructions if extracts: for i in range(0, len(data['extracts']), 3): extract_name = extracts[i]["value"] extract_id = Extract.query.filter_by(name=extract_name)[0].id extract_amount = extracts[i + 1]["value"] extract_units = extracts[i + 2]["value"] new_extins = ExtIns(recipe_id=recipe_id, extract_id=extract_id, amount=extract_amount, units=extract_units) db.session.add(new_extins) db.session.commit() # Hops Instructions for i in range(0, len(data['hops']), 6): hop_name = hops[i]["value"] hop_id = Hop.query.filter_by(name=hop_name)[0].hop_id hop_amount = hops[i + 1]["value"] hop_units = hops[i + 2]["value"] hop_phase = hops[i + 3]["value"] time = hops[i + 4]["value"] kind = hops[i + 5]["value"] new_hopsins = HopIns(recipe_id=recipe_id, hop_id=hop_id, amount=hop_amount, phase=hop_phase, time=time, kind=kind) db.session.add(new_hopsins) db.session.commit() # Misc Instructions if miscs != []: for i in range(0, len(data['miscs']), 5): misc_name = miscs[i]["value"] misc_id = Misc.query.filter_by(name=misc_name)[0].misc_id misc_amount = miscs[i + 1]["value"] misc_units = miscs[i + 2]["value"] misc_phase = miscs[i + 3]["value"] misc_time = miscs[i + 4]["value"] new_miscins = MiscIns(recipe_id=recipe_id, misc_id=misc_id, phase=misc_phase, amount=misc_amount, time=misc_time, units=misc_units) db.session.add(new_miscins) db.session.commit() # Yeast Instructions for i in range(0, len(data['yeasts']), 4): yeast_name = yeasts[i]["value"] yeast_id = Yeast.query.filter_by(name=yeast_name)[0].yeast_id yeast_amount = yeasts[i + 1]["value"] yeast_units = yeasts[i + 2]["value"] yeast_phase = yeasts[i + 3]["value"] new_yeastins = YeastIns(recipe_id=recipe_id, yeast_id=yeast_id, amount=yeast_amount, units=yeast_units, phase=yeast_phase) db.session.add(new_yeastins) db.session.commit message = "Your recipe has been added." return message grain_choice, extract_choice, hop_choice, misc_choice, yeast_choice, selectlist_styles = feed_recipe_form( ) return render_template("recipeform.html", selectlist_styles=selectlist_styles, grain_choice=grain_choice, hop_choice=hop_choice, extract_choice=extract_choice, misc_choice=misc_choice, yeast_choice=yeast_choice)