def home(): print(request.form) user: User = current_user weights = user.weights_dict() steps = user.steps_dict() today = datetime.today() points = [] message = "You can still log your current weight and steps to gain points, make over 10000 steps to make even more points." for weight in weights: if (today.strftime("%m/%d/%y") in weight.values()): points.append(40) message = "Try to make more then 10000 steps tommorow to gain the last 20 points." break for step in steps: if (today.strftime("%m/%d/%y") in step.values()): points.append(40) message = "Try to make more then 10000 steps tommorow to gain the last 20 points." if (step['series'] > 10000): points.append(20) message = "You've done everything for today. A full one hundred points, be proud!!" break le_form = LogExerciseForm(prefix='exercise') le_form.exercise.choices = [(e.id, e.name) for e in Exercise.query.all()] lf_form = LogFoodForm(prefix='food') lf_form.ingredient.choices = [(i.id, i.name) for i in Ingredient.query.all()] w_form = AddWeightForm(prefix='weight') s_form = AddStepsForm(prefix='steps') if lf_form.ingredient.data and lf_form.validate_on_submit(): food_log = FoodLog(grams=lf_form.grams.data) food_log.user = current_user food_log.ingredient_id = lf_form.ingredient.data db.session.add(food_log) db.session.commit() flash('Food added!') return redirect(url_for('home')) if le_form.exercise.data and le_form.validate_on_submit(): exercise_log = ExerciseLog(amount=le_form.reps.data) exercise_log.user = current_user exercise_log.exercise_id = le_form.exercise.data db.session.add(exercise_log) db.session.commit() flash('Exercise added!') return redirect(url_for('home')) if w_form.weight.data and w_form.validate_on_submit(): weight = Weight(w_form.weight.data) weight.user = current_user db.session.add(weight) db.session.commit() flash('Weight added!') return redirect(url_for('home')) if s_form.steps.data and s_form.validate_on_submit(): steps = Steps(s_form.steps.data) steps.user = current_user db.session.add(steps) db.session.commit() flash('Steps added!') return redirect(url_for('home')) return render_template('home.html', e_form=le_form, f_form=lf_form, s_form=s_form, w_form=w_form, weights=weights, steps=steps, points=points, message=message)
def import_data(): if Path('db/app.db').exists(): click.confirm('app.db already exist, want to remove it?', abort=True) Path('db/app.db').unlink() upgrade() user = create_user() with open("data/steps.csv", 'r') as f: reader = DictReader(f) for line in reader: steps = Steps(steps=line['steps']) steps.date = datetime.fromisoformat(line['datetime']) steps.user = user db.session.add(steps) db.session.commit() with open("data/weights.csv", 'r') as f: reader = DictReader(f) for line in reader: weight = Weight(weight=line['weight']) weight.date = datetime.fromisoformat(line['datetime']) weight.user = user db.session.add(weight) db.session.commit() with open("data/exercises.csv", 'r') as f: reader = DictReader(f) for line in reader: exercise = Exercise(name=line['name'], kcal_per_rep=line['kcal']) db.session.add(exercise) db.session.commit() with open("data/ingredients.csv", 'r') as f: reader = DictReader(f) for line in reader: ingredient = Ingredient(name=line['name'], kcal_per_100_gram=line['kcal']) db.session.add(ingredient) db.session.commit() with open("data/food_log.csv", 'r') as f: reader = DictReader(f) for line in reader: food_log = FoodLog() food_log.user = user food_log.ingredient_id = line['ingredient_id'] food_log.grams = line['grams'] food_log.timestamp = datetime.fromisoformat(line['datetime']) db.session.add(food_log) db.session.commit() with open("data/exercise_log.csv", 'r') as f: reader = DictReader(f) for line in reader: exercise_log = ExerciseLog() exercise_log.user = user exercise_log.exercise_id = line['exercise_id'] exercise_log.amount = line['amount'] food_log.timestamp = datetime.fromisoformat(line['datetime']) db.session.add(exercise_log) db.session.commit()