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