Private
Public Access
1
0
This commit is contained in:
2025-11-17 21:42:54 +01:00
parent 5b7736395f
commit 23eef8f22c
6 changed files with 74 additions and 72 deletions

View File

@@ -657,7 +657,7 @@ def update_wps(r, types, mode='water', asynchron=True):
ids = [w.id for w in workouts]
if asynchron:
_ = myqueue(
queue,
queuelow,
handle_update_wps,
r.id,
types,

View File

@@ -550,6 +550,7 @@ class IntervalsIntegration(SyncIntegration):
workouttype=workouttype,
duration=duration,
distance=distance,
date=arrow.get(data['start_date']).datetime,
uploadedtointervals=id,
)

View File

@@ -3243,73 +3243,6 @@ def handle_intervals_updateworkout(workout, debug=False, **kwargs):
return 0
def df_from_summary(data):
# distance = data['distance']
# c2id = data['id']
# workouttype = data['type']
# verified = data['verified']
# weightclass = data['weight_class']
try:
title = data['name']
except KeyError: # pragma: no cover
title = ""
try:
t = data['comments'].split('\n', 1)[0]
title += t[:40]
except: # pragma: no cover
title = ''
startdatetime, starttime, workoutdate, duration, starttimeunix, timezone = utils.get_startdatetime_from_c2data(
data)
try:
splits = data['workout']['splits']
except (KeyError, TypeError): # pragma: no cover
splits = [0]
time = starttimeunix
elapsed_distance = 0
times = [0]
distances = [0]
try:
spms = [splits[0]['stroke_rate']]
except (KeyError, TypeError, IndexError): # pragma: no cover
spms = [0]
try:
hrs = [splits[0]['heart_rate']['average']]
except (KeyError, TypeError, IndexError): # pragma: no cover
hrs = [0]
for split in splits:
try:
time += split['time']/10.
times.append(time)
except (KeyError, TypeError): # pragma: no cover
times.append(0)
try:
elapsed_distance += split['distance']
distances.append(elapsed_distance)
except (KeyError, TypeError): # pragma: no cover
distances.append(0)
try:
spms.append(split['stroke_rate'])
except (KeyError, TypeError): # pragma: no cover
spms.append(0)
try:
hrs.append(split['heart_rate']['average'])
except (KeyError, TypeError): # pragma: no cover
hrs.append(0)
df = pd.DataFrame({
'TimeStamp (sec)': times,
' Horizontal (meters)': distances,
' HRCur (bpm)': hrs,
' Cadence (stokes/min)': spms,
})
df[' ElapsedTime (sec)'] = df['TimeStamp (sec)']-starttimeunix
return df

View File

@@ -553,7 +553,7 @@ class C2Objects(DjangoTestCase):
self.assertEqual(str(timezone),'America/Los_Angeles')
df = tasks.df_from_summary(data)
df = upload_tasks.df_from_summary(data)
self.assertEqual(len(df),8)
got = arrow.get(startdatetime).isoformat()

Binary file not shown.

View File

@@ -138,14 +138,14 @@ def handle_intervals_getworkout(rower, intervalstoken, workoutid, debug=False, *
except KeyError:
workoutsource = 'intervals.icu'
if 'garmin' in workoutsource.lower():
title = 'Garmin: '+ title
try:
title = data['name']
except KeyError:
title = 'Intervals workout'
if 'garmin' in workoutsource.lower():
title = 'Garmin: '+ title
try:
workouttype = intervalsmappinginv[data['type']]
except KeyError:
@@ -1244,3 +1244,71 @@ def fetch_strava_workout(stravatoken, oauth_data, stravaid, csvfilename, userid,
stravaid=stravaid, userid=userid))
return 1
def df_from_summary(data):
# distance = data['distance']
# c2id = data['id']
# workouttype = data['type']
# verified = data['verified']
# weightclass = data['weight_class']
try:
title = data['name']
except KeyError: # pragma: no cover
title = ""
try:
t = data['comments'].split('\n', 1)[0]
title += t[:40]
except: # pragma: no cover
title = ''
startdatetime, starttime, workoutdate, duration, starttimeunix, timezone = utils.get_startdatetime_from_c2data(
data)
try:
splits = data['workout']['splits']
except (KeyError, TypeError): # pragma: no cover
splits = [0]
time = starttimeunix
elapsed_distance = 0
times = [0]
distances = [0]
try:
spms = [splits[0]['stroke_rate']]
except (KeyError, TypeError, IndexError): # pragma: no cover
spms = [0]
try:
hrs = [splits[0]['heart_rate']['average']]
except (KeyError, TypeError, IndexError): # pragma: no cover
hrs = [0]
for split in splits:
try:
time += split['time']/10.
times.append(time)
except (KeyError, TypeError): # pragma: no cover
times.append(0)
try:
elapsed_distance += split['distance']
distances.append(elapsed_distance)
except (KeyError, TypeError): # pragma: no cover
distances.append(0)
try:
spms.append(split['stroke_rate'])
except (KeyError, TypeError): # pragma: no cover
spms.append(0)
try:
hrs.append(split['heart_rate']['average'])
except (KeyError, TypeError): # pragma: no cover
hrs.append(0)
df = pd.DataFrame({
'TimeStamp (sec)': times,
' Horizontal (meters)': distances,
' HRCur (bpm)': hrs,
' Cadence (stokes/min)': spms,
})
df[' ElapsedTime (sec)'] = df['TimeStamp (sec)']-starttimeunix
return df