@@ -98,7 +98,7 @@ class Activities(ActivitiesDb.Base, ActivitiesCommon):
98
98
__tablename__ = 'activities'
99
99
100
100
db = ActivitiesDb
101
- table_version = 4
101
+ table_version = 5
102
102
103
103
activity_id = Column (String , primary_key = True )
104
104
name = Column (String )
@@ -109,13 +109,33 @@ class Activities(ActivitiesDb.Base, ActivitiesCommon):
109
109
sport = Column (String )
110
110
sub_sport = Column (String )
111
111
112
+ self_eval_feel = Column (Integer )
113
+ self_eval_effort = Column (Integer )
114
+
112
115
training_effect = Column (Float )
113
116
anaerobic_training_effect = Column (Float )
114
117
115
118
def is_steps_activity (self ):
116
119
"""Return if the activity is a steps based activity."""
117
120
return self .sport in ['walking' , 'running' , 'hiking' ]
118
121
122
+ def get_self_eval_feel (self ):
123
+ """Return the Garmin Connect self evaluation 'How did you feel' label for the activity."""
124
+ levels = [(100 , "Very Strong" ), (75 , "Strong" ), (50 , "Normal" ), (25 , "Weak" ), (0 , "Very Weak" )]
125
+ for threshold , label in levels :
126
+ print (f"Threshold { threshold } label { label } " )
127
+ if self .self_eval_feel >= threshold :
128
+ return label
129
+
130
+ def get_self_eval_effort (self ):
131
+ """Return the Garmin Connect self evaluation perceived effort label for the activity."""
132
+ levels = [(100 , "Maximum" ), (90 , "Extremely Hard" ), (70 , "Very Hard" ), (50 , "Hard" ),
133
+ (40 , "Somewhat Hard" ), (30 , "Moderate" ), (20 , "Light" ), (10 , "Very Light" ), (0 , "None" )]
134
+ for threshold , label in levels :
135
+ print (f"Threshold { threshold } label { label } " )
136
+ if self .self_eval_effort >= threshold :
137
+ return label
138
+
119
139
@classmethod
120
140
def get_by_course_id (cls , db , course_id ):
121
141
"""Return all activities items for activities with the matching course_id."""
0 commit comments