-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathactivity_validations.py
100 lines (75 loc) · 3.4 KB
/
activity_validations.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
def validate_age(age, messages):
age = int(age)
if age <= 0:
messages.append(("danger", "Age must be positive."))
elif age < 1 or age > 120:
messages.append(("danger", "Age must be between 1 and 120."))
return age, messages
def validate_gender(gender, messages):
genders = ['male', 'female', 'other']
if not gender:
messages.append(("danger", "Gender is required."))
else:
if gender.lower() not in genders:
messages.append(("danger", "Invalid gender. Choose 'Male', 'Female', or 'Other'."))
return messages
def validate_weight(weight, messages):
weight = float(weight)
if weight <= 0:
messages.append(("danger", "Weight must be positive."))
return weight, messages
def validate_height(height, messages):
height = float(height)
if height <= 0:
messages.append(("danger", "Height must be positive."))
return height, messages
def validate_activity_type(activity_type, messages):
activities_type = ['running', 'cycling', 'swimming', 'yoga', 'step', 'combat', 'bodybuilding']
if not activity_type:
messages.append(("danger", "Activity Type is required."))
else:
if activity_type.lower() not in activities_type:
messages.append(("danger", "Invalid activity type. Choose one of the options provided."))
return messages
def validate_duration(duration, messages):
duration = int(duration)
if duration <= 0:
messages.append(("danger", "Duration must be positive."))
return duration, messages
def validate_intensity(intensity, messages):
intensities = ['low', 'moderate', 'high']
if not intensity:
messages.append(("danger", "Intensity is required."))
else:
if intensity.lower() not in intensities:
messages.append(("danger", "Invalid intensity. Choose one of the options provided."))
return messages
def validate_resting_heart_rate(resting_heart_rate, messages):
resting_heart_rate = int(resting_heart_rate)
if resting_heart_rate <= 0:
messages.append(("danger", "Resting Heart Rate must be positive."))
elif resting_heart_rate < 30 or resting_heart_rate > 120:
messages.append(("danger", "Age must be between 30 and 120."))
return resting_heart_rate, messages
def validate_exercise_heart_rate(exercise_heart_rate, messages):
exercise_heart_rate = int(exercise_heart_rate)
if exercise_heart_rate <= 0:
messages.append(("danger", "Exercise Heart Rate must be positive."))
elif exercise_heart_rate < 50 or exercise_heart_rate > 220:
messages.append(("danger", "Age must be between 50 and 220."))
return exercise_heart_rate, messages
def validate_body_fat_percentage(body_fat_percentage, messages):
body_fat_percentage = float(body_fat_percentage)
if body_fat_percentage <= 0:
messages.append(("danger", "Body Fat Percentage must be positive."))
return body_fat_percentage, messages
def validate_muscle_mass(muscle_mass, messages):
muscle_mass = float(muscle_mass)
if muscle_mass <= 0:
messages.append(("danger", "Muscle Mass must be positive."))
return muscle_mass, messages
def validate_water_intake(water_intake, messages):
water_intake = float(water_intake)
if water_intake <= 0:
messages.append(("danger", "Water Intake must be positive."))
return water_intake, messages