fixes
This commit is contained in:
@@ -657,7 +657,7 @@ def update_wps(r, types, mode='water', asynchron=True):
|
|||||||
ids = [w.id for w in workouts]
|
ids = [w.id for w in workouts]
|
||||||
if asynchron:
|
if asynchron:
|
||||||
_ = myqueue(
|
_ = myqueue(
|
||||||
queue,
|
queuelow,
|
||||||
handle_update_wps,
|
handle_update_wps,
|
||||||
r.id,
|
r.id,
|
||||||
types,
|
types,
|
||||||
|
|||||||
@@ -550,6 +550,7 @@ class IntervalsIntegration(SyncIntegration):
|
|||||||
workouttype=workouttype,
|
workouttype=workouttype,
|
||||||
duration=duration,
|
duration=duration,
|
||||||
distance=distance,
|
distance=distance,
|
||||||
|
date=arrow.get(data['start_date']).datetime,
|
||||||
uploadedtointervals=id,
|
uploadedtointervals=id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -3243,73 +3243,6 @@ def handle_intervals_updateworkout(workout, debug=False, **kwargs):
|
|||||||
return 0
|
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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -553,7 +553,7 @@ class C2Objects(DjangoTestCase):
|
|||||||
|
|
||||||
self.assertEqual(str(timezone),'America/Los_Angeles')
|
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)
|
self.assertEqual(len(df),8)
|
||||||
|
|
||||||
got = arrow.get(startdatetime).isoformat()
|
got = arrow.get(startdatetime).isoformat()
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
BIN
rowers/tests/testdata/testdata.tcx.gz
vendored
Binary file not shown.
@@ -138,14 +138,14 @@ def handle_intervals_getworkout(rower, intervalstoken, workoutid, debug=False, *
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
workoutsource = 'intervals.icu'
|
workoutsource = 'intervals.icu'
|
||||||
|
|
||||||
if 'garmin' in workoutsource.lower():
|
|
||||||
title = 'Garmin: '+ title
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
title = data['name']
|
title = data['name']
|
||||||
except KeyError:
|
except KeyError:
|
||||||
title = 'Intervals workout'
|
title = 'Intervals workout'
|
||||||
|
|
||||||
|
if 'garmin' in workoutsource.lower():
|
||||||
|
title = 'Garmin: '+ title
|
||||||
|
|
||||||
try:
|
try:
|
||||||
workouttype = intervalsmappinginv[data['type']]
|
workouttype = intervalsmappinginv[data['type']]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@@ -1244,3 +1244,71 @@ def fetch_strava_workout(stravatoken, oauth_data, stravaid, csvfilename, userid,
|
|||||||
stravaid=stravaid, userid=userid))
|
stravaid=stravaid, userid=userid))
|
||||||
|
|
||||||
return 1
|
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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user