def calc_color(recipe_id, batch_size, batch_units): fermins = FermIns.query.filter_by(recipe_id=recipe_id).all() extins = ExtIns.query.filter_by(recipe_id=recipe_id).all() srm_color = 0 if batch_units not in ["gallons", "Gallons", "g"]: batch_size = float(batch_size) * 0.26417 else: batch_size = float(batch_size) srm_color = 0.0 for ins in fermins: srm_color += calc_srm_color(Fermentable, ins.fermentable.name, ins.amount, ins.units, batch_size) for ins in extins: srm_color += calc_srm_color(Extract, ins.extract.name, ins.amount, ins.units, batch_size) srm_color = int(round(srm_color)) print "feeder ", srm_color Recipe.query.filter_by(recipe_id=recipe_id).one().srm = srm_color db.session.commit()
def calculate_color(): data = request.get_json() # print data batch_size, batch_units = normalize_batch_size(data["batch_size"], data["units"]) srm = 0 for ingredient_idx, fermentable in [('grains', Fermentable), ('extracts', Extract)]: ingredient_list = data[ingredient_idx] for i in range(0, len(ingredient_list), 3): name = ingredient_list[i]["value"] amount = float(ingredient_list[i+1]["value"]) units = ingredient_list[i+2]["value"] srm += calc_srm_color(fermentable, name, amount, units, batch_size) print srm color = color_conversion(srm) return color