Prashanthsrn commited on
Commit
03dc139
·
verified ·
1 Parent(s): 67e53e5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -29
app.py CHANGED
@@ -121,35 +121,35 @@ if 'access_token' in st.session_state:
121
  # Fetch running activities
122
  @st.cache_data(ttl=3600)
123
  def fetch_run_activities():
124
- activities = list(client.get_activities(limit=200))
125
- runs = []
126
- for activity in activities:
127
- if activity.type == 'Run':
128
- run_data = {
129
- 'name': activity.name,
130
- 'distance': float(activity.distance.num) / 1000 if activity.distance else None, # Convert to km
131
- 'moving_time': None,
132
- 'total_elevation_gain': float(activity.total_elevation_gain) if activity.total_elevation_gain else None,
133
- 'average_speed': float(activity.average_speed) * 3.6 if activity.average_speed else None, # Convert to km/h
134
- 'average_heartrate': float(activity.average_heartrate) if activity.average_heartrate else None,
135
- 'start_date': activity.start_date.replace(tzinfo=None) if activity.start_date else None
136
- }
137
-
138
- # Safely handle moving_time
139
- try:
140
- if activity.moving_time:
141
- run_data['moving_time'] = activity.moving_time.total_seconds() / 60 # Convert to minutes
142
- except AttributeError:
143
- pass # If moving_time is not accessible, leave it as None
144
-
145
- runs.append(run_data)
146
-
147
- df = pd.DataFrame(runs)
148
-
149
- # Calculate pace only if both moving_time and distance are available
150
- df['pace'] = df.apply(lambda row: row['moving_time'] / row['distance'] if row['moving_time'] and row['distance'] else None, axis=1)
151
-
152
- return df
153
 
154
  try:
155
  df = fetch_run_activities()
 
121
  # Fetch running activities
122
  @st.cache_data(ttl=3600)
123
  def fetch_run_activities():
124
+ activities = list(client.get_activities(limit=200))
125
+ runs = []
126
+ for activity in activities:
127
+ if activity.type == 'Run':
128
+ run_data = {
129
+ 'name': activity.name,
130
+ 'distance': float(activity.distance.num) / 1000 if activity.distance else None, # Convert to km
131
+ 'moving_time': None,
132
+ 'total_elevation_gain': float(activity.total_elevation_gain) if activity.total_elevation_gain else None,
133
+ 'average_speed': float(activity.average_speed) * 3.6 if activity.average_speed else None, # Convert to km/h
134
+ 'average_heartrate': float(activity.average_heartrate) if activity.average_heartrate else None,
135
+ 'start_date': activity.start_date.replace(tzinfo=None) if activity.start_date else None
136
+ }
137
+
138
+ # Safely handle moving_time
139
+ try:
140
+ if activity.moving_time:
141
+ run_data['moving_time'] = activity.moving_time.total_seconds() / 60 # Convert to minutes
142
+ except AttributeError:
143
+ pass # If moving_time is not accessible, leave it as None
144
+
145
+ runs.append(run_data)
146
+
147
+ df = pd.DataFrame(runs)
148
+
149
+ # Calculate pace only if both moving_time and distance are available
150
+ df['pace'] = df.apply(lambda row: row['moving_time'] / row['distance'] if row['moving_time'] and row['distance'] else None, axis=1)
151
+
152
+ return df
153
 
154
  try:
155
  df = fetch_run_activities()