def roast_add(roast_id=None): user = g.user form = RoastForm() form.bean_id.choices = [ (b.id, "%s - %s (%dg)" % (b.purchase_date, b.name, b.weight)) for b in Bean.query.filter_by(user_id=user.id).order_by(Bean.purchase_date.desc()).limit(10).all() ] if roast_id: roast = Roast.query.get(roast_id) form.bean_dose.data = roast.bean_dose form.drop_temp.data = roast.drop_temp form.dry_end_time.data = seconds_to_timestring(roast.dry_end_time) form.dry_end_temp.data = roast.dry_end_temp form.fc_begin_time.data = seconds_to_timestring(roast.fc_begin_time) form.fc_begin_temp.data = roast.fc_begin_temp form.fc_end_time.data = seconds_to_timestring(roast.fc_end_time) form.fc_end_temp.data = roast.fc_end_temp form.sc_begin_time.data = seconds_to_timestring(roast.sc_begin_time) form.sc_begin_temp.data = roast.sc_begin_temp form.sc_end_time.data = seconds_to_timestring(roast.sc_end_time) form.sc_end_temp.data = roast.sc_end_temp form.end_time.data = seconds_to_timestring(roast.end_time) form.end_temp.data = roast.end_temp form.end_weight.data = roast.end_weight form.roaster_machine.data = roast.roaster_machine form.roast_date.data = roast.roast_date form.notes.data = roast.notes form.bean_id.data = roast.bean_id form.roast_id.data = roast.id if form.validate_on_submit(): form.roast_id.data = int(form.roast_id.data) if form.roast_id.data == 0: roast = Roast() else: roast = Roast.query.get(form.roast_id.data) if roast.user_id != user.id: return redirect(url_for("roast_list")) roast.bean_dose = form.bean_dose.data roast.drop_temp = form.drop_temp.data roast.dry_end_time = timestring_to_seconds(form.dry_end_time.data) roast.dry_end_temp = form.dry_end_temp.data roast.fc_begin_time = timestring_to_seconds(form.fc_begin_time.data) roast.fc_begin_temp = form.fc_begin_temp.data roast.fc_end_time = timestring_to_seconds(form.fc_end_time.data) roast.fc_end_temp = form.fc_end_temp.data roast.sc_begin_time = timestring_to_seconds(form.sc_begin_time.data) roast.sc_begin_temp = form.sc_begin_temp.data roast.sc_end_time = timestring_to_seconds(form.sc_end_time.data) roast.sc_end_temp = form.sc_end_temp.data roast.end_time = timestring_to_seconds(form.end_time.data) roast.end_temp = form.end_temp.data roast.end_weight = form.end_weight.data roast.roaster_machine = form.roaster_machine.data roast.roast_date = form.roast_date.data roast.notes = form.notes.data roast.bean_id = form.bean_id.data roast.user_id = user.id Roast.add_roast(roast) return redirect(url_for("roast_list")) return render_template("roast_add.html", form=form)
def brew_add(brew_id=None): user = g.user form = BrewForm() form.roast_batch.choices = [ (r.id, '%s - %s' % (r.roast_date, r.bean.name)) for r in Roast.query.filter( Roast.user_id == user.id, Roast.bean_id > 0).order_by( Roast.roast_date.desc()).limit(10).all() ] form.roast_batch.choices.append((0, 'N/A')) form.bean_id.choices = [ (b.id, '%s - %s (%dg)' % (b.purchase_date, b.name, b.weight)) for b in Bean.query.filter_by(user_id=user.id).order_by( Bean.purchase_date.desc()).limit(10).all() ] if brew_id: brew = Brew.query.get(brew_id) form.roast_batch.data = brew.roast_id form.bean_id.data = brew.bean_id form.grind_size.data = brew.grind_size form.bean_dose.data = Decimal(brew.bean_dose) / 100 form.water_dose.data = brew.water_dose form.extraction_time.data = seconds_to_timestring(brew.extraction_time) form.brew_method.data = brew.brew_method form.filter_type.data = brew.filter_type form.brew_date.data = brew.brew_date form.notes.data = brew.notes form.brew_id.data = brew.id if form.validate_on_submit(): form.brew_id.data = int(form.brew_id.data) if form.brew_id.data == 0: brew = Brew() else: brew = Brew.query.get(form.brew_id.data) if brew.user_id != user.id: return redirect(url_for('brew_list')) brew.grind_size = form.grind_size.data brew.bean_dose = int(form.bean_dose.data * 100) brew.water_dose = form.water_dose.data brew.extraction_time = timestring_to_seconds(form.extraction_time.data) brew.brew_method = form.brew_method.data brew.filter_type = form.filter_type.data brew.brew_date = form.brew_date.data brew.notes = form.notes.data brew.user_id = user.id brew.bean_id = form.bean_id.data brew.roast_id = form.roast_batch.data Brew.add_brew(brew) return redirect(url_for('brew_list')) return render_template('brew_add.html', form=form)
def brew_add(brew_id=None): user = g.user form = BrewForm() form.roast_batch.choices = [ (r.id, "%s - %s" % (r.roast_date, r.bean.name)) for r in Roast.query.filter(Roast.user_id == user.id, Roast.bean_id > 0) .order_by(Roast.roast_date.desc()) .limit(10) .all() ] form.roast_batch.choices.append((0, "N/A")) form.bean_id.choices = [ (b.id, "%s - %s (%dg)" % (b.purchase_date, b.name, b.weight)) for b in Bean.query.filter_by(user_id=user.id).order_by(Bean.purchase_date.desc()).limit(10).all() ] if brew_id: brew = Brew.query.get(brew_id) form.roast_batch.data = brew.roast_id form.bean_id.data = brew.bean_id form.grind_size.data = brew.grind_size form.bean_dose.data = brew.bean_dose form.water_dose.data = brew.water_dose form.extraction_time.data = seconds_to_timestring(brew.extraction_time) form.brew_method.data = brew.brew_method form.filter_type.data = brew.filter_type form.brew_date.data = brew.brew_date form.notes.data = brew.notes form.brew_id.data = brew.id if form.validate_on_submit(): form.brew_id.data = int(form.brew_id.data) if form.brew_id.data == 0: brew = Brew() else: brew = Brew.query.get(form.brew_id.data) if brew.user_id != user.id: return redirect(url_for("brew_list")) brew.grind_size = form.grind_size.data brew.bean_dose = form.bean_dose.data brew.water_dose = form.water_dose.data brew.extraction_time = timestring_to_seconds(form.extraction_time.data) brew.brew_method = form.brew_method.data brew.filter_type = form.filter_type.data brew.brew_date = form.brew_date.data brew.notes = form.notes.data brew.user_id = user.id brew.bean_id = form.bean_id.data brew.roast_id = form.roast_batch.data Brew.add_brew(brew) return redirect(url_for("brew_list")) return render_template("brew_add.html", form=form)
def test_seconds_to_timestring(): assert seconds_to_timestring(5) == '00:05' assert seconds_to_timestring(63) == '01:03' assert seconds_to_timestring(601) == '10:01' assert seconds_to_timestring(3601) == '01:00:01' assert seconds_to_timestring(3663) == '01:01:03'
def roast_add(roast_id=None): user = g.user form = RoastForm() form.bean_id.choices = [ (b.id, '%s - %s (%dg)' % (b.purchase_date, b.name, b.weight)) for b in Bean.query.filter_by(user_id=user.id).order_by( Bean.purchase_date.desc()).limit(10).all() ] if roast_id: roast = Roast.query.get(roast_id) form.bean_dose.data = Decimal(roast.bean_dose) / 100 form.drop_temp.data = roast.drop_temp form.dry_end_time.data = seconds_to_timestring(roast.dry_end_time) form.dry_end_temp.data = roast.dry_end_temp form.fc_begin_time.data = seconds_to_timestring(roast.fc_begin_time) form.fc_begin_temp.data = roast.fc_begin_temp form.fc_end_time.data = seconds_to_timestring(roast.fc_end_time) form.fc_end_temp.data = roast.fc_end_temp form.sc_begin_time.data = seconds_to_timestring(roast.sc_begin_time) form.sc_begin_temp.data = roast.sc_begin_temp form.sc_end_time.data = seconds_to_timestring(roast.sc_end_time) form.sc_end_temp.data = roast.sc_end_temp form.end_time.data = seconds_to_timestring(roast.end_time) form.end_temp.data = roast.end_temp form.end_weight.data = Decimal(roast.end_weight) / 100 form.roaster_machine.data = roast.roaster_machine form.roast_date.data = roast.roast_date form.notes.data = roast.notes form.bean_id.data = roast.bean_id form.roast_id.data = roast.id if form.validate_on_submit(): form.roast_id.data = int(form.roast_id.data) if form.roast_id.data == 0: roast = Roast() else: roast = Roast.query.get(form.roast_id.data) if roast.user_id != user.id: return redirect(url_for('roast_list')) roast.bean_dose = int(form.bean_dose.data * 100) roast.drop_temp = form.drop_temp.data roast.dry_end_time = timestring_to_seconds(form.dry_end_time.data) roast.dry_end_temp = form.dry_end_temp.data roast.fc_begin_time = timestring_to_seconds(form.fc_begin_time.data) roast.fc_begin_temp = form.fc_begin_temp.data roast.fc_end_time = timestring_to_seconds(form.fc_end_time.data) roast.fc_end_temp = form.fc_end_temp.data roast.sc_begin_time = timestring_to_seconds(form.sc_begin_time.data) roast.sc_begin_temp = form.sc_begin_temp.data roast.sc_end_time = timestring_to_seconds(form.sc_end_time.data) roast.sc_end_temp = form.sc_end_temp.data roast.end_time = timestring_to_seconds(form.end_time.data) roast.end_temp = form.end_temp.data roast.end_weight = int(form.end_weight.data * 100) roast.roaster_machine = form.roaster_machine.data roast.roast_date = form.roast_date.data roast.notes = form.notes.data roast.bean_id = form.bean_id.data roast.user_id = user.id Roast.add_roast(roast) return redirect(url_for('roast_list')) return render_template('roast_add.html', form=form)