def save_workout_perf_weight_set(update, context, params): exercise_name = params["exercise_name"] weight = params["msg"] helper.clear_callback(context) for ex in context.user_data["current_workout"]["exercises"]: if ex["name"] != exercise_name: continue ex["weight"] = weight break #context.user_data["current_workout"]["exercises"] context.user_data["current_workout"][ "exercises_left"] -= 1 # TODO: maybe move following to save_workout_perf if "workout_histories" not in context.user_data: context.user_data["workout_histories"] = [] if not context.user_data["current_workout"]["exercises_left"]: context.user_data["current_workout"]["time_end"] = datetime.today( ).strftime("%H:%M") context.user_data["workout_histories"].append( context.user_data["current_workout"]) del context.user_data["current_workout"] core.start(update, context) else: save_workout_perf(update, context, context.user_data["current_workout"]["name"])
def set_workout_name(update, context, params): old_name = params["name"] new_name = params["msg"] context.user_data["workouts"][new_name] = context.user_data["workouts"][old_name] context.user_data["workouts"].pop(old_name) helper.clear_callback(context) show_workout(update, context, new_name)
def edit_exercise_property(update, context, params): workout_name = params["workout_name"] exercise_idx = params["exercise_idx"] property_key = params["property"] property_val = params["msg"] context.user_data["workouts"][workout_name]["exercises"][exercise_idx][property_key] = property_val helper.clear_callback(context) show_exercise(update, context, workout_name, exercise_idx)
def create_workout(update, context, params): name = params["msg"] if name in context.user_data["workouts"]: update.message.reply_text("Dieser Name existiert bereits!") update.message.reply_text("Gib deinem Workout einen anderen Namen:") helper.clear_callback(context) context.user_data["callback"] = create_workout else: context.user_data["workouts"][name] = {"name": name, "exercises": []} show_exercises(update, context, name)
def add_exercise(update, context, params): # TODO: currently no names with whitespaces possible workout_name = params["workout_name"] exercise_name = params["msg"] helper.clear_callback(context) context.user_data["workouts"][workout_name]["exercises"].append({"name": exercise_name, "sets": "3", "reps": "12"}) show_exercises(update, context, workout_name)
def remove_exercise(update, context, name, idx): context.user_data["workouts"][name]["exercises"].pop(idx) helper.clear_callback(context) show_exercises(update, context, name)