From 3e3245549dbbce1482b3b90a68ea51bc30780312 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 15 Apr 2020 22:03:35 +0200 Subject: [PATCH 1/4] test --- rowers/c2stuff.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rowers/c2stuff.py b/rowers/c2stuff.py index a90c2a2c..6e623629 100644 --- a/rowers/c2stuff.py +++ b/rowers/c2stuff.py @@ -752,6 +752,9 @@ def get_workout(user,c2id): else: strokedata = pd.DataFrame() + print('aap') + strokedata.to_csv('~/s/from_json.csv') + return data,strokedata # Get stroke data belonging to C2 ID From c95aa78009926672b63f868f657846a5a9b36f88 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 15 Apr 2020 22:03:49 +0200 Subject: [PATCH 2/4] remove test --- rowers/c2stuff.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/rowers/c2stuff.py b/rowers/c2stuff.py index 6e623629..a90c2a2c 100644 --- a/rowers/c2stuff.py +++ b/rowers/c2stuff.py @@ -752,9 +752,6 @@ def get_workout(user,c2id): else: strokedata = pd.DataFrame() - print('aap') - strokedata.to_csv('~/s/from_json.csv') - return data,strokedata # Get stroke data belonging to C2 ID From 043b2eeba815b1a5e0ed168eda0f29d0a06bec2e Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 19 Apr 2020 16:16:56 +0200 Subject: [PATCH 3/4] video bug fix --- rowers/dataprep.py | 9 ++++++++- rowers/dataprepnodjango.py | 5 ++++- rowers/tasks.py | 20 ++++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index de004620..e9658fbc 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -133,12 +133,17 @@ def get_video_data(w,groups=['basic'],mode='water'): columns = list(set(columns)) df = getsmallrowdata_db(columns,ids=[w.id], workstrokesonly=False,doclean=False,compute=False) + + df['time'] = (df['time']-df['time'].min())/1000. + df.sort_values(by='time',inplace=True) df.set_index(pd.to_timedelta(df['time'],unit='s'),inplace=True) df2 = df.resample('1s').first().fillna(method='ffill') + df2['time'] = df2.index.total_seconds() + if 'pace' in columns: df2['pace'] = df2['pace']/1000. p = df2['pace'] @@ -177,6 +182,8 @@ def get_video_data(w,groups=['basic'],mode='water'): + + # bundle data data = { 'boatspeed':boatspeed.values.tolist(), @@ -297,7 +304,7 @@ def get_latlon_time(id): return pd.DataFrame() df = pd.DataFrame({ - 'time': rowdata.df[' ElapsedTime (sec)'], + 'time': rowdata.df['TimeStamp (sec)']-rowdata.df['TimeStamp (sec)'].min(), 'latitude': rowdata.df[' latitude'], 'longitude': rowdata.df[' longitude'] }) diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 98c6f7d4..8df22bd4 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -185,7 +185,10 @@ def create_c2_stroke_data_db( pace = 500.*totalseconds/distance if workouttype in ['rower','slides','dynamic']: - velo = distance/totalseconds + try: + velo = distance/totalseconds + except ZeroDivisionError: + velo = 0 power = 2.8*velo**3 else: power = 0 diff --git a/rowers/tasks.py b/rowers/tasks.py index 6933003a..bf502f43 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -179,6 +179,8 @@ def handle_strava_sync(stravatoken,workoutid,filename,name,activity_type,descrip res = act.wait(poll_interval=5.0, timeout=60) except ActivityUploadFailed: failed = True + except JSONDecodeError: + failed = True if not failed: try: act = client.update_activity(res.id,activity_type=activity_type, @@ -730,6 +732,24 @@ def handle_calctrimp(id, normw = response.normw hrtss = response.hrtss + if np.isnan(tss): + tss = 0 + + if np.isnan(normp): + normp = 0 + + if np.isnan(trimp): + trimp = 0 + + if np.isnan(normv): + normv = 0 + + if np.isnan(normw): + normw = 0 + + if np.isnan(hrtss): + hrtss = 0 + query = 'UPDATE rowers_workout SET rscore = {tss}, normp = {normp}, trimp={trimp}, hrtss={hrtss}, normv={normv}, normw={normw} WHERE id={id}'.format( tss = int(tss), From 8955dc595e56ce14e4f4be3b514f2491c694ca65 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 19 Apr 2020 16:49:02 +0200 Subject: [PATCH 4/4] adding sharekey to admin --- rowers/admin.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rowers/admin.py b/rowers/admin.py index fd8ab271..f0db40e8 100644 --- a/rowers/admin.py +++ b/rowers/admin.py @@ -11,7 +11,7 @@ from .models import ( Team,TeamInvite,TeamRequest, WorkoutComment,C2WorldClassAgePerformance,PlannedSession, GeoCourse,GeoPolygon,GeoPoint,VirtualRace,VirtualRaceResult, - PaidPlan,IndoorVirtualRaceResult, + PaidPlan,IndoorVirtualRaceResult,ShareKey ) # Register your models here so you can use them in the Admin module @@ -116,6 +116,9 @@ class GraphImageAdmin(admin.ModelAdmin): class GeoPolygonInline(admin.StackedInline): model = GeoPolygon +class ShareKeyAdmin(admin.ModelAdmin): + list_display = ('location','creation_date','expiration_date') + class GeoCourseAdmin(admin.ModelAdmin): list_display = ('manager','name') @@ -156,3 +159,4 @@ admin.site.register(VirtualRace, VirtualRaceAdmin) admin.site.register(VirtualRaceResult, VirtualRaceResultAdmin) admin.site.register(IndoorVirtualRaceResult, IndoorVirtualRaceResultAdmin) admin.site.register(PaidPlan,PaidPlanAdmin) +admin.site.register(ShareKey,ShareKeyAdmin)